類在建立的時候需要呼叫建構函式,假如對系統沒有任何說明,則會呼叫系統預設的建構函式,在需要自行寫建構函式的時候往往是一下幾種情況:
1.建構函式中不帶引數:
#includeusing namespace std;
class student;
student::student (void)
int student::getid(void)
int main();
student::student(int id)
void student::setid(int id)
int student::getid(void)
int main();
student::student(int id)
student::student(string name)
string student::getname(void)
int student::getid(void)
string student::setname(string name)
int main();
student::student(int id)
student::~student(void)
int student::getid(void)
int main();//簡寫形式,但是不能有this指標
private:
int id;
string name;
};void student::setid(int id)
int student::getid()
void student::setname(string name)
string student::getname()
int main();
private:
int id;
string name;
};void people::setid(int id)
int people::getid()
void people::setname(string name)
string people::getname()
class student:public people//子類呼叫父類的建構函式
private:
int stuid;
};void student::setstuid(int stuid)
int student::getstuid(void)
int main()
父類建構函式 子類建構函式
1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...
父類建構函式 子類建構函式
1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...
C 子類建構函式
建構函式是用來初始化類物件的。如果類中沒有顯式的宣告建構函式,那麼編譯器會自動建立乙個預設的建構函式,並且這個預設的建構函式僅僅在沒有顯式的宣告建構函式的情況下才會被建立。建構函式與父類的其它成員不同,它不能被子類繼承。因此,在建立子類物件時,為了初始化從父類中繼承來的成員變數,編譯器需要呼叫其父類...