⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_1_single_inheritance_constructor_2.cpp

📁 对于一个初涉VC++的人来书
💻 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 + -