定义一个学生类(Student):私有成员属性(姓名、年龄、分数)、成员方法(无参构造、有参构造、析构函数、show函数)
再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法(无参构造、有参构造、析构函数、show函数)。
由这两个类共同派生出学生干部类,私有成员属性(职位),成员方法(无参构造、有参构造、析构函数、show函数),使用学生干部类实例化一个对象,然后调用其show函数进行测试
#include <iostream>
using namespace std;
//定义一个学生类
class Stu{
//私有成员属性
private:
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;}
//show函数
void show(){
cout<<"Stu::name = "<<name<<endl;//输出名字
cout<<"Stu::age = "<<age<<endl;//输出年龄
cout<<"Stu::score = "<<score<<endl;//输出分数
}
};
//定义党员类
class Party{
//私有成员属性
private:
string act;//党员组织活动
string org;//组织
//成员函数
public:
//无参构造
Party() {cout<<"Party::无参构造"<<endl;}
//有参构造
Party(string a, string o):act(a), org(o) {cout<<"Party::有参构造"<<endl;}
//析构函数
~Party() {cout<<"Party::析构函数"<<endl;}
//show函数
void show(){
cout<<"Party::act = "<<act<<endl;//输出活动
cout<<"Party::org = "<<org<<endl;//输出组织
}
};
//定义学术类干部
class Carde:public Stu, public Party{//public方式继承Stu和Party
//私有成员属性
private:
string post;//职位
//成员函数
public:
//无参构造
Carde() {cout<<"Carde::无参构造"<<endl;}
//有参构造
Carde(string n, int a1, double s, string a2, string o, string p):Stu(n, a1, s), Party(a2, o), post(p) {cout<<"Carde::有参构造"<<endl;}//传参给两个父类
//析构函数
~Carde() {cout<<"Carde::析构函数"<<endl;}
//展示函数
void show(){
Stu::show();//调用Stu父类的输出
Party::show();//调用Party父类的输出
cout<<"Carde::post"<<post<<endl;//输出自己
}
};
int main()
{
//实例化一个学生干部类
Carde c("张三", 18, 99.5, "敲代码", "底下魔盗团", "凹凸曼");
//调用学生干部类的输出函数
c.show();
return 0;
}