c++:继承练习

定义一个学生类(Student):私有成员属性(姓名、年龄、分数)、成员方法(无参构造、有参构造、析构函数、show函数)​
再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法(无参构造、有参构造、析构函数、show函数)。​
由这两个类共同派生出学生干部类,私有成员属性(职位),成员方法(无参构造、有参构造、析构函数、show函数),使用学生干部类实例化一个对象,然后调用其show函数

输出结果为:

#include <iostream>

using namespace std;
class Student//定义一个学生类
{
private:
    string name;  //姓名
    int age;      //年龄
    double score; //分数
public:
    Student(){cout<<"student 无参构造"<<endl;}
    Student(string n,int a,double s):name(n),age(a),score(s){cout<<"student 有参构造"<<endl;}
    ~Student(){cout<<"student 析构函数"<<endl;}
    void show()//学生类成员函数
    {
        cout<<"Student name "<<name<<endl;
        cout<<"Student age "<<age<<endl;
        cout<<"Student score "<<score<<endl;
    }


};
class Party//定义一个干部类
{
private:
    string actvity;       //活动
    string organization;  //组织
public:
    Party(){cout<<"Party 无参构造"<<endl;}
    Party(string a,string o):actvity(a),organization(o){cout<<"Party 有参构造"<<endl;}
    ~Party(){cout<<"Party 析构函数"<<endl;}
    void show()//干部类成员函数
    {
        cout<<"Party actvity "<<actvity<<endl;
        cout<<"Party organization "<<organization<<endl;
    }

};
class Cadre : public Student,public Party//定义一个学生干部类,继承了干部类和学生类的属性
{
private:
    string position;//职位
public:
    Cadre(){cout<<" Cadre 无参构造"<<endl;}
    Cadre(string n,int a,double s,string act,string o,string p):Student(n,a,s), Party(act,o),position(p){cout<<" Cadre 有参构造"<<endl;}
    ~Cadre(){cout<<"Cadre 析构函数"<<endl;}
    void show()//学生干部类的内部成员函数
    {
        Student::show();
        Party::show();
        cout<<"Cadre position   "<<position<<endl;
    }
};

int main()
{
    Cadre student("Tom",18,99,"music","students' union","President");
    student.show();
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值