定义一个学生类(Student):私有成员属性(姓名、年龄、分数)、成员方法(无参构造、有参构造、析构函数、show函数)
再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法(无参构造、有参构造、析构函数、show函数)。
由这两个类共同派生出学生干部类,私有成员属性(职位),成员方法(无参构造、有参构造、析构函数、show函数),使用学生干部类实例化一个对象,然后调用其show函数进行测试
#include <iostream>
using namespace std;
class Stu // 创建学生类,私有成员属性(姓名、年龄、分数)、成员方法(无参构造、有参构造、析构函数、show函数)
{
private:
string name; // 姓名
int age; // 年龄
double score; // 分数
public:
Stu() : name("张三"), age(15), score(99) {} // 无参构造
Stu(string n, int a, double s) : name(n), age(a), score(s) // 有参构造
{
//cout << "Stu:: 有参构造函数" << endl;
}
~Stu() // 析构函数
{
}
void show()
{
cout << "姓名: " << name << endl;
cout << "年龄: " << age << endl;
cout << "成绩: " << score << endl;
}
};
// 再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法(无参构造、有参构造、析构函数、show函数)
class Party
{
private:
string activity; // 党组织活动
string organization; // 组织
public:
Party() : activity("职务选拔"), organization("团员") // 无参构造
{
//cout << "Party:: 无参构造函数" << endl;
}
Party(string a, string o) : activity(a), organization(o) // 有参构造
{
// cout << "Party:: 有参构造函数" << endl;
}
~Party() {}//析构函数
void show()
{
cout << "党组织活动= " << activity << endl;
cout << "组织= " << organization << endl;
}
};
// 共同派生出学生干部类,私有成员属性(职位),成员方法(无参构造、有参构造、析构函数、show函数)
class stu_cadre : public Stu, public Party
{
private:
string member; // 职位
public:
stu_cadre() :member("体育委员") // 无参构造函数
{
//cout << "stu_cadre:: 无参构造函数" << endl;
}
~stu_cadre() {} // 析构函数
stu_cadre(string na,int ag,double sc,string act,string org,string me) :Stu(na,ag,sc),Party(act,org) ,member(me) // 有参构造函数
{
// cout << "stu_cadre:: 有参构造函数" << endl;
}
void show()
{
Stu::show();
Party::show();
cout << "职位= " << member << endl;
}
};
int main()
{
stu_cadre s;//无参构造
s.show();
stu_cadre s1("李四",22,88,"合唱","团员","语文课代表");
s1.show();
system("pause");
return 0;
}