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

实现效果

相关推荐
郝学胜-神的一滴3 分钟前
深入探索 Python 元组:从基础到高级应用
运维·服务器·开发语言·python·程序人生
序属秋秋秋4 分钟前
《C++进阶之STL》【哈希表】
数据结构·c++·stl·哈希算法·散列表·哈希表·哈希
一只乔哇噻7 分钟前
java后端工程师进修ing(研一版‖day44)
java·开发语言·学习·算法
Ares-Wang26 分钟前
Vue3》》eslint Prettier husky
开发语言·javascript·ecmascript
EveryPossible42 分钟前
静态箭头连线
开发语言·javascript·ecmascript
青草地溪水旁42 分钟前
设计模式(C++)详解——建造者模式(1)
c++·设计模式·建造者模式
NiKo_W44 分钟前
Git 版本回退与撤销修改
开发语言·git·安全
listhi5201 小时前
Map对象在JavaScript循环中的使用
开发语言·前端·javascript
大可门耳1 小时前
Qt第一课:Qt是什么?相对于其他框架的优劣势是什么
开发语言·qt
·云扬·2 小时前
【Leetcode hot 100】101.对称二叉树
算法·leetcode·职场和发展