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;
}
相关推荐
@三十一Y3 小时前
C++:AVL树实现
c++
ShineWinsu4 小时前
对于Linux:传输层协议UDP原理的解析
linux·c++·面试·udp·协议·传输层·计算机系统
LingzhiPi4 小时前
零知派ESP32--AS5600磁吸旋钮音量控制器
c++·单片机·嵌入式硬件
小保CPP4 小时前
OpenCV C++车型识别1-图像预处理
c++·人工智能·opencv·计算机视觉
库克克5 小时前
【C++】C++11 包装器function 与 绑定器 bind
开发语言·c++
小小龙学IT5 小时前
C++ Placement New 与显式析构:手动对象生命周期管理的艺术
c++·windows·mfc
小保CPP5 小时前
OpenCV C++车型识别2-形状匹配
c++·人工智能·opencv·计算机视觉
醉城夜风~7 小时前
手撕 C++ string:从零实现一个简易字符串类
开发语言·c++·算法
nLif7 小时前
进程管道通讯-伪终端方式
c++·windows
颜x小7 小时前
[C#]泛型类与泛型方法
开发语言·c++·c#