子类实继承父类的案例

该代码示例展示了C++中的类继承概念,包括一个学生类(stu)、一个当员类(party)以及它们的派生类——学生干部类(post)。类包含了构造函数、析构函数,用于对象的初始化和清理。在派生类中可以访问并初始化基类的私有成员。主函数中创建了一个学生干部对象并展示其信息。
摘要由CSDN通过智能技术生成

代码如下

#include <iostream>

using namespace std;

//创建学生类
class stu
{
private:
    string name;
    int age;
    float scort;
public:
    stu()
    {
        cout << "学生无参构造" << endl;
    };
    stu(string name,int age ,float scort):name(name),age(age),scort(scort)
    {
        cout << "学生有参构造" << endl;
    };

    void show()
    {
        cout << "学生名字: " << name << endl;
        cout << "学生年龄: " << age << endl;
        cout << "学生分数: " << scort << endl;

    }

    ~stu()
    {
        cout << "学生析构" << endl;
    }
};

//创建当员类
class party
{
private:
    string activety;
    string org;
public:
    party()
    {
        cout << "当员无参构造" << endl;
    };

    party(string activity,string org):activety(activity),org(org)
    {
        cout << "当员有参构造" << endl;
    };

    void show()
    {
        cout << "当员活动: " << activety << endl;
        cout << "当员组织: " << org << endl;
    }

    ~party()
    {
        cout << "当员析构" << endl;
    }
};

//问题:怎么调用父类中的私有变量?
//1、在父类中自己调用输入函数
//问题:怎么初始化父类中的私有变量?
//直接显性赋值?试一试

//共同派生出学生干部
class post:public stu,public party
{
private:
    string job;
public:
    post()
    {
        cout << "干部无参构造" << endl;
    };

    post(string name,int age,float scort,string activety,string org,string job):\
        stu(name,age,scort),party(activety,org),job(job)
    {
        cout << "干部有参构造" << endl;
    };

    //输出检验
    void show()
    {
        cout << "干部职位: " << job << endl;
        stu::show();
        party::show();
    }

    ~post()
    {
        cout << "干部析构" << endl;
    }
};




int main()
{

    cout << "Hello World!" << endl;
    post stu1("zhangsan",18,89.5,"共产当","我为人人","班长");
    stu1.show();

    return 0;
}

效果图如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值