实例化就研究生类的对象,并输出该对象的所有信息

本文通过一个具体的代码示例介绍了多重继承的概念,并展示了如何在一个类中实现来自不同基类的数据成员和成员函数的组合。具体地,代码创建了一个研究生类,该类从学生类和老师类继承,并增加了一个新的成员变量性别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义一个学生类:成员–> 姓名、年龄、成绩以及相关函数
定义一个老师类:成员–> 年龄、职称以及相关函数
由学生类和老师类共同派生出研究生类:成员–> 性别

#include <iostream>
#include<string.h>
using namespace std;
class student
{
public:
    student(){}
    student(string n,int a,int s):name(n),age(a),score(s){}
    ~student(){}

protected:
    int age,score;
    string name;
};
class teacher
{
public:
    teacher(){}
    teacher(string p,int a):profession(p),age(a){}
    ~teacher(){}
protected:
    int age;
    string profession;

};
class graduate:public student, public teacher
{
public:
    graduate(){}
    graduate(string n,int a1,int s,string p,int a2,char* g):student(n,a1,s),teacher(p,a2),gender(g)
    {
        if(strcmp(g,"man")==0)
            cout<<"man"<<endl;
        else if(strcmp(g,"woman")==0)
            cout<<"woman"<<endl;
        else
            cout<<"wrong"<<endl;

    }

    void show()
    {
        cout<<"name="<<name<<"\t"<<"age="<<student::age<<"\t"<<"score="<<score<<endl;
        cout<<"profession="<<profession<<"\t"<<"age="<<teacher::age<<endl;
    }

    ~graduate(){}
private:
    char* gender;

};

int main()
{
    graduate g1("zhangsan",18,66,"tiyu",28,"man");
    g1.show();
    cout << "Hello World!" << endl;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值