首页 > 代码库 > 多级派生情况下派生类的构造函数
多级派生情况下派生类的构造函数
#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;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。