您好,登錄后才能下訂單哦!
1.派生類構造函數的一般形式為:
派生類構造函數名(總參數表):基類構造函數名(參數表)
{
派生類中新增加數據成員初始化語句
}
2.在建立一個對象時,執行構造函數的順序是:
a.派生類構造函數先調用基類構造函數;
b.再執行派生類構造函數本身(即派生類構造函數的函數體)
3.在派生類對象釋放時,先執行派生類析構函數,再執行其基類析構函數
例:定義一個簡單的派生類構造函數。
解:程序:
#include<iostream>
#include<string>
using namespace std;
class Student//聲明一個基類Student
{
public:
Student(int n, string nam, char s)//定義基類構造函數
{
num = n;
name = nam;
sex = s;
}
~Student()//基類析構函數
{
}
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)//定義派生類構造函數
{
age = a;//在函數體中只對派生類新增加的數據成員初始化
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()//派生類析構函數
{}
private:
int age;
string addr;
};
int main()
{
Student1 stud1(1001, "yaoyao", 'f', 20, "hanzhong");
Student1 stud2(1002, "xiaoxiao", 'm', 20, "xianyang");
stud1.show();//輸出第一個學生數據
stud2.show();//輸出第二個學生數據
system("pause");
return 0;
}
結果:
num:1001
name:yaoyao
sex:f
age:20
address:hanzhong
num:1002
name:xiaoxiao
sex:m
age:20
address:xianyang
請按任意鍵繼續. . .
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。