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

实现效果

相关推荐
忘忧记4 分钟前
Fixture详解
开发语言·python
赵谨言5 分钟前
地球磁场干扰噪声减弱声波对抗测量系统研究进展:近十年中英文文献综述
大数据·开发语言·经验分享
jyan_敬言6 分钟前
【算法】高精度算法(加减乘除)
c语言·开发语言·c++·笔记·算法
树獭叔叔12 分钟前
内存价格被Google打下来了?: TurboQuant对KVCache的量化
算法·aigc·openai
echome88813 分钟前
Python 装饰器实战:用@syntax 优雅地增强函数功能
开发语言·python
旖-旎15 分钟前
前缀和(矩阵区域和)(8)
c++·算法·leetcode·前缀和·动态规划
Vect__17 分钟前
基于CSAPP深刻理解编译链接过程
linux·c++
月落归舟27 分钟前
排序算法---(一)
数据结构·算法·排序算法
卷Java33 分钟前
Python字典:键值对、get()方法、defaultdict,附通讯录实战
开发语言·数据库·python
liuyao_xianhui33 分钟前
优选算法_翻转链表_头插法_C++
开发语言·数据结构·c++·算法·leetcode·链表·动态规划