8.12 C++作业

运用虚函数实现多态

cpp 复制代码
#include <iostream>

using namespace std;

class Animal
{
public:
    virtual void perform()=0;
    virtual ~Animal()
    {
        cout  << "释放父类空间" <<endl;

    }
};

class Monkey:public Animal
{
public:
    void perform()
    {
        cout << "猴子正在骑自行车" << endl;
    }
    ~Monkey()
    {
        cout << "释放子类空间" << endl;
    }
};
class Elepant:public Animal
{
public:
    void perform()
    {
        cout << "大象正在滚皮球" << endl;
    }
};
class Lion:public Animal
{
public:
    void perform()
    {
        cout << "狮子正在跳火圈" << endl;
    }
};
int main()
{
    Animal *p;
    Monkey s1;
    p=&s1;
    p->perform();
    Lion s2;
    p=&s2;
    p->perform();
    Elepant s3;
    p=&s3;
    p->perform();

    cout << "Hello World!" << endl;
    return 0;
}

实现效果

相关推荐
汀、人工智能几秒前
07 - 字典dict:哈希表的Python实现
数据结构·算法·数据库架构·哈希表的python实现
oG99bh7CK7 分钟前
高光谱成像基础(六)滤波匹配 MF
人工智能·算法·目标跟踪
汀、人工智能7 分钟前
04 - 控制流:if/for/while
数据结构·算法·链表·数据库架构··if/for/while
海参崴-11 分钟前
C++代码格式规范
java·前端·c++
怎么没有名字注册了啊16 分钟前
崩溃解决_Qt子窗口关闭按钮后打开崩溃
开发语言·qt
Dxy123931021624 分钟前
JavaScript 如何捕获异常:从基础到进阶的完整指南
开发语言·javascript·udp
努力学习的小廉28 分钟前
我爱学算法之——动态规划(四)
算法·动态规划
!停38 分钟前
C++入门—初阶模板
开发语言·c++
so2F32hj238 分钟前
拆解 OpenHands(14)--- Microagents
java·开发语言
Jp7gnUWcI1 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
开发语言·c++