611作业

cpp 复制代码
#include <iostream>

using namespace std;
class Animal
{
private:
    string name;
    string program;
public:
    Animal(){}
    Animal(string name="am",string program="pg"):name(name),program(program){}

    virtual void perfrom()
    {
        cout << name << " " << program << endl;
    }
};
class Hum
{
public:
    virtual void introduce()
    {
        cout << "Human introduce" << endl;
    }

};
class Lion:public Animal,public Hum
{
public:
    Lion(string name = "lion",string program = "eat"):Animal(name,program){}
    virtual void perfrom()
    {
        Animal::perfrom();
    }
    virtual void introduce()
    {
        Hum::introduce();
    }
};
class Elephant:public Animal,public Hum
{
public:
    Elephant(string name = "elephant",string program = "run"):Animal(name,program){}
    virtual void perfrom()
    {
        Animal::perfrom();
    }
    virtual void introduce()
    {
        Hum::introduce();
    }
};
class Monkey:public Animal,public Hum
{
public:
    Monkey(string name = "monkey",string program = "jump"):Animal(name,program){}
    virtual void perfrom()
    {
        Animal::perfrom();
    }
    virtual void introduce()
    {
        Hum::introduce();
    }
};

int main()
{
    Lion l1;
    Animal *p=&l1;
    Hum *q=&l1;
    p->perfrom();
    q->introduce();

    Elephant e2;
    Animal *p2=&e2;
    Hum *q2=&e2;
    p2->perfrom();
    q2->introduce();

    Monkey m3;
    Animal *p3=&m3;
    Hum *q3=&m3;
    p3->perfrom();
    q3->introduce();

    return 0;
}
相关推荐
努力实干6 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
syagain_zsx8 小时前
jsoncpp 使用指南:编译链接、Json::Value 取值与高频坑
c++·json·库·http格式
布莱克6059 小时前
理解 = delete 与 = default:两种赋值语义的差异
c++
小小、码农10 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++
库玛西11 小时前
外部排序全解析:败者树、置换-选择排序与最佳归并树
c语言·数据结构·c++·笔记·考研·算法
General_G12 小时前
创建型模式—原型(Prototype)模式
c++·设计模式·原型模式
syagain_zsx12 小时前
protobuf 实战:从 .proto 到 C++ 序列化的完整链路
c++·学习·程序人生·谷歌·protobuf
welfare96213 小时前
新号别搞:C++_list
开发语言·c++
xiaoye-duck13 小时前
《C++ 项目:手写大模型接入 SDK》云端 API 调用基础与 Apifox 调试实战
网络·c++·语言模型
坤坤子吖13 小时前
Linux 线程同步与互斥——条件变量与线程同步
linux·开发语言·c++·笔记·学习