作业:
定义一个学生类(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() {}
//展示
void show()
{
cout << "name = " << name << " age = " << age << " score = " << score << endl;
}
};
//党员类
class Party
{
private:
string activity;
string organization;
public:
//无参构造
Party()
{cout << "Party::无参构造" << endl;}
//有参构造
Party(string act,string org):activity(act),organization(org)
{cout << "Party::有参构造" << endl;}
//析构函数
~Party() {}
//展示
void show()
{
cout << "activity = " << activity << " organization = " << organization << endl;
}
};
//学生干部
class Leader:public Stu,public Party
{
private:
string postion;
public:
//无参构造
Leader():Stu("张三",18,99),Party("团建","华清党支部")
{cout << "Leader::无参构造" << endl;}
//有参构造
Leader(string n,int a,double s,string act,string org,string pos):Stu(n,a,s),Party(act,org),postion(pos)
{cout << "Leader::有参构造" << endl;}
//析构函数
~Leader() {}
//展示
void show()
{
cout << "postion = " << postion << endl;
}
};
int main()
{ // Stu Party Learder
Leader s1; //无参构造 无参构造 无参构造
Leader s2; //有参构造 有参构造 无参构造
s2.Stu::show(); //张三 18 99
s2.Party::show(); //团建 华清党支部
Leader s3("李四",19,98,"支部大会","华清党支部","副部长"); //有参构造 有参构造 有参构造
s3.Stu::show(); //李四 19 98
s3.Party::show(); //支部大会 华清党支部
s3.show(); //副部长
return 0;
}