鑑於這種代碼C++構造派生類,其中基類包含一個類的成員
class Address
{
private:
char * streetName;
int houseNumber;
public:
Address(char* strName, int houseNumber)
{....}
}
class Person
{
protected:
char *name, * phoneNumber;
Address addr;
public:
Person(char* n, char* pN, char* stN, char* hsN): addr(stN,hsN)
{
//...... assign variable for person
}
};
class Officer: public Person
{
private:
double salary;
public:
// How to write the constructor??
Officer(char* _name, char*_phoneNumber, char* _streetName, int _streetNumber, double _salary): .... ????
}
如何寫派生類官具有五個輸入變量,其中_streetName和_streetNumber將被饋送到構造包含在基類Person中的成員對象addr?
注意,使用'std :: string'而不是'char *'。 – hmjd
你有什麼嘗試?我沒有看到阻止你在初始化列表中使用父構造函數的任何事情。 – Mat
http://stackoverflow.com/questions/120876/c-superclass-constructor-calling-rules AND http://stackoverflow.com/questions/2290733/initialize-parents-protected-members-with-initialization-list-c –