1. 程式人生 > >C++類繼承:子類呼叫父類的建構函式

C++類繼承:子類呼叫父類的建構函式

父類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)
{ .....
}
在建構函式後面加上:父類的構造語句就可以了...