#include <iostream>
using namespace std;
class Stu;
class Party;
//学生类
class Stu
{
//私有
private:
string name;
int age;
double score;
public:
Stu()
{
cout<<"stu无参构造"<<endl;
}
Stu(string name,int age,double score):name(name),age(age),score(score)
{
cout<<"Stu有参构造"<<endl;
}
~Stu()
{
cout<<"Stu析构函数"<<endl;
}
void show()
{
cout<<"name="<<name;
cout<<"age="<<age;
cout<<"score="<<score<<endl;
};
friend class ganbu; //友元,不然子类没有权限
};
//党员类
class Party
{
//私有
private:
string huodong;
string group;
public:
Party()
{
cout<<"Party无参构造"<<endl;
}
Party(string huodong,string group):huodong(huodong),group(group)
{
cout<<"Party有参构造"<<endl;
}
~Party()
{
cout<<"Party析构函数"<<endl;
}
void show()
{
cout<<"huodong="<<huodong;
cout<<"group="<<group<<endl;
};
friend class ganbu; //友元,不然子类没有权限
};
//stu和party共同派生
class ganbu:public Stu,public Party
{
private:
string zhiwei;
public:
ganbu()
{
cout<<"ganbu无参构造"<<endl;
}
ganbu(string name,int age,double score,string huodong,string group,string zhiwei):Stu(name,age,score),Party(huodong,group),zhiwei(zhiwei)
{
cout<<"ganbu有参构造"<<endl;
}
~ganbu()
{
cout<<"ganbu析构函数"<<endl;
}
void show()
{
cout<<"name="<<name;
cout<<"age="<<age;
cout<<"score="<<score;
cout<<"huodong="<<huodong;
cout<<"group="<<group;
cout<<"zhiwei="<<zhiwei<<endl;
};
};
int main()
{
//实例化
ganbu s1("asd",2,3,"aaa","ddd","big");
//输出测试
s1.show();
return 0;
}