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;
}

实现效果

相关推荐
闻道且行之7 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
许彰午8 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系9 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜9 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
QXWZ_IA9 小时前
1库1图1批是什么?千寻位置公安地图数据体系详解
科技·算法·能源·媒体·交通物流·政务
c2385610 小时前
Bug 猎手入门指南
c++·算法·bug
chouchuang10 小时前
day-030-综合练习-笔记管理器
开发语言·笔记·python
Reart10 小时前
Leetcode 213.打家劫舍2(内含闲谈,打劫真是技术活,好题,716)
后端·算法
云空11 小时前
《Three.js 3D实例大全》
开发语言·javascript·3d·three.js