定义一个学生类(Student):私有成员属性(姓名、年龄、分数)、成员方法(无参构造、有参构造、析构函数、show函数)
再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法(无参构造、有参构造、析构函数、show函数)。
由这两个类共同派生出学生干部类,私有成员属性(职位),成员方法(无参构造、有参构造、析构函数、show函数),使用学生干部类实例化一个对象,然后调用其show函数进行测试
class Student
{
private:
string name;
int age;
int score;
public:
Student() { cout << "学生:无参构造" << endl; }
Student(string n, int a, int s) :name(n), age(a), score(s)
{
cout << "学生:有参构造" << endl;
}
~Student()
{
cout << "学生:析构函数" << endl;
}
void show()
{
cout << "Student::name = " << name << endl;
cout << "Student::age = " << age << endl;
cout << "Student::score = " << score << endl;
}
};
class Party
{
private:
string activity;
string department;
public:
Party() { cout << "党员:无参构造" << endl; }
Party(string a, string d) :activity(a), department(d)
{
cout << "党员:有参构造" << endl;
}
~Party()
{
cout << "党员:析构函数" << endl;
}
void show()
{
cout << "Party::activity = " << activity << endl;
cout << "Party::department = " << department << endl;
}
};
class StuPart :public Student, public Party
{
private:
string post;
public:
StuPart() { cout << "新类:无参构造" << endl; }
StuPart(string n, int a, int s, string aa, string d, string p) :Student(n, a, s), Party(aa, d), post(p)
{
cout << "新类:有参构造" << endl;
}
~StuPart()
{
cout << "新类:析构" << endl;
}
void show()
{
/*cout << "name = " << Student::name << endl;*/
Student::show(); //调用父类的show函数
Party::show();
cout << "职位:" << post << endl;
}
};
int main()
{
StuPart stu1("张三", 18, 100, "学习新思想", "组织部", "部长");
stu1.show();
return 0;
}
运行结果