定义一个学生类(Student):私有成员属性(姓名、年龄、分数)、成员方法(无参构造、有参构造、析构函数、show函数)
再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法(无参构造、有参构造、析构函数、show函数)。
由这两个类共同派生出学生干部类,私有成员属性(职位),成员方法(无参构造、有参构造、析构函数、show函数),使用学生干部类实例化一个对象,然后调用其show函数进行测试
#include <iostream>
using namespace std;
class Stu
{
protected:
string name;
int age;
double score;
public:
Stu() {cout<<"Stu 无参构造"<<endl;}
Stu(string n, int a, double s):name(n), age(a),score(s)
{
cout<<"Stu 有参构造"<<endl;
}
~Stu() {cout<<"Stu 析构函数"<<endl;}
void show()
{
cout<<" name = "<<name<<" age = "<<age<<" score = "<<score;
}
};
class Party
{
protected:
string poa;
string org;
public:
Party() {cout<<"Party 无参构造"<<endl;}
Party(string p, string o):poa(p), org(o)
{
cout<<"Party 有参构造"<<endl;
}
~Party() {cout<<"Party 析构函数"<<endl;}
void display()
{
cout<<" poa = "<<poa<<" org = "<<org;
}
};
class Cadre:public Stu,public Party
{
protected:
string posts;
public:
Cadre() {cout<<"Cadre 无参构造"<<endl;}
Cadre(string n,int a, double s, string p, string o,string t):Stu(n,a,s),Party(p,o),posts(t)
{
cout<<"Cadre 有参构造"<<endl;
}
~Cadre() {cout<<"Cadre 析构函数"<<endl;}
void show()
{
this->Stu::show();
this->Party::display();
cout<<" posts = "<<posts<<endl;
}
};
int main()
{
Cadre s1("张三", 18, 90, "党课", "党组织", "团员");
s1.show();
return 0;
}
思维导图