1.派生類構(gòu)造函數(shù)的一般形式為:
西崗網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
派生類構(gòu)造函數(shù)名(總參數(shù)表):基類構(gòu)造函數(shù)名(參數(shù)表)
{
派生類中新增加數(shù)據(jù)成員初始化語句
}
2.在建立一個對象時,執(zhí)行構(gòu)造函數(shù)的順序是:
a.派生類構(gòu)造函數(shù)先調(diào)用基類構(gòu)造函數(shù);
b.再執(zhí)行派生類構(gòu)造函數(shù)本身(即派生類構(gòu)造函數(shù)的函數(shù)體)
3.在派生類對象釋放時,先執(zhí)行派生類析構(gòu)函數(shù),再執(zhí)行其基類析構(gòu)函數(shù)
例:定義一個簡單的派生類構(gòu)造函數(shù)。
解:程序:
#include
#include
using namespace std;
class Student//聲明一個基類Student
{
public:
Student(int n, string nam, char s)//定義基類構(gòu)造函數(shù)
{
num = n;
name = nam;
sex = s;
}
~Student()//基類析構(gòu)函數(shù)
{
}
protected:
int num;
string name;
char sex;
};
class Student1 :public Student//聲明公用派生類Student1
{
public:
Student1(int n, string nam, char s, int a, string ad) :Student(n, nam, s)//定義派生類構(gòu)造函數(shù)
{
age = a;//在函數(shù)體中只對派生類新增加的數(shù)據(jù)成員初始化
addr = ad;
}
void show()
{
cout << "num:" << num << endl;
cout << "name:" << name << endl;
cout << "sex:" << sex << endl;
cout << "age:" << age << endl;
cout << "address:" << addr << endl << endl;
}
~Student1()//派生類析構(gòu)函數(shù)
{}
private:
int age;
string addr;
};
int main()
{
Student1 stud1(1001, "yaoyao", 'f', 20, "hanzhong");
Student1 stud2(1002, "xiaoxiao", 'm', 20, "xianyang");
stud1.show();//輸出第一個學(xué)生數(shù)據(jù)
stud2.show();//輸出第二個學(xué)生數(shù)據(jù)
system("pause");
return 0;
}
結(jié)果:
num:1001
name:yaoyao
sex:f
age:20
address:hanzhong
num:1002
name:xiaoxiao
sex:m
age:20
address:xianyang
請按任意鍵繼續(xù). . .