您的位置:首页 > 其它

多级派生情况下派生类的构造函数

2014-06-27 15:26 295 查看
#include <iostream>
#include<string>
using namespace std;
class Student//声明基类
{
public://公用部分
Student(int n, string nam)//基类构造函数
{
num=n;
name=nam;
}
void display( )//输出基类数据成员
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
}
protected://保护部分
int num;//基类有两个数据成员
string name;
};
class Student1: public Student//声明公用派生类Student1
{
public:
Student1(int n,char nam[10],int a):Student(n,nam)//派生类构造函数
{age=a;}//在此处只对派生类新增的数据成员初始化
void show( ) //输出num,name和age
{
display( ); //输出num和name
cout<<"age: "<<age<<endl;
}
private://派生类的私有数据
int age; //增加一个数据成员
};
class Student2:public Student1 //声明间接公用派生类Student2
{
public://下面是间接派生类构造函数
Student2(int n, string nam,int a,int s):Student1(n,nam,a) {score=s;}
void show_all( ) //输出全部数据成员
{
show( ); //输出num和name
cout<<"score:"<<score<<endl; //输出age
}
private:
int score; //增加一个数据成员
};
int main( )
{
Student2 stud(10010,"Li",17,89);
stud.show_all( ); //输出学生的全部数据
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: