C++類繼承:子類呼叫父類的建構函式
阿新 • • 發佈:2019-02-17
父類HttpUtil:
#pragma once #include <windows.h> #include <string> using namespace std; class HttpUtil { private: LPVOID hInternet; LPVOID hConnect; LPVOID hRequest; protected: wchar_t * mHostName; short mPort; string sendRequest(WCHAR * pvHostName, short pvPort, WCHAR * pvUrl, WCHAR * pvMethod, char * pvPostData, int pvPostDataLen); public: HttpUtil(wchar_t * pvHostName, short pvPort); ~HttpUtil(); void reset(); };
建構函式有兩個引數,host和port , 子類BmsNetUtil繼承它, 並將host/port封裝在裡面, 主程式呼叫BmsNetUtil時無需再指定host/port引數 , 這時應該這樣寫:
#pragma once #include <windows.h> #include <string> #include "HttpUtil.h" using namespace std; class BmsNetUtil :public HttpUtil { protected: public: BmsNetUtil(); ~BmsNetUtil(); bool login(); };
BmsNetUtil 建構函式的實現:
BmsNetUtil::BmsNetUtil():HttpUtil(TEXT(C_SITE),C_PORT)
{ .....
}
在建構函式後面加上:父類的構造語句就可以了...