📄 demo_1_single_inheritance_constructor_2.cpp
字号:
//*********************************************************
// 多级派生类的构造函数
//*********************************************************
#include <iostream>
#include<string>
using namespace std;
class Student //声明基类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,string nam,int a):Student(n,nam) //直接派生类构造函数
{
age=a; //在此处只对派生类新增的数据成员初始化
}
void show()
{
display(); //调用基类成员函数
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(); //调用直接派生类成员函数
cout<<"score:"<<score<<endl;
}
private:
int score;
};
int main( )
{
Student2 stud(10,"Li",17,89);
stud.show_all( );
return 0;
}
/*
num:10
name:Li
age: 17
score:89
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -