C++课本例题(派生类的构造函数)

来源:互联网 发布:手机点单软件 编辑:程序博客网 时间:2024/05/18 22:53
#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;}~Student1(){} //派生类析构函数private:int age;string addr;};int main(){Student1 Stud1(10010,"Wang-li",'f',19,"115 Beijing Road, Shanghai");Student1 Stud2(10011,"Zhang-fun",'m',21,"213 Shanghai Road, Beijing");Stud1.show();      // 输出第一个学生的数据Stud2.show();      // 输出第二个学生的数据system("pause");return 0;}

总结:

派生类的构造函数一般形式为:

派生类构造函数名(总参数表列):基类构造函数名(参数表列)//基类构造函数名后面括号里的参数表列只有参数名,这些参数是实参

{派生类中新增数据成员初始化语句}