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

实现效果

相关推荐
南棱笑笑生13 分钟前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
ulias21213 分钟前
C++ 的容器适配器——从stack/queue看
开发语言·c++
daidaidaiyu30 分钟前
FFmpeg 关键的结构体
c++·ffmpeg
Tony_yitao32 分钟前
15.华为OD机考 - 执行任务赚积分
数据结构·算法·华为od·algorithm
Amewin36 分钟前
window 11 安装pyenv-win管理不同的版本的python
开发语言·python
lionliu051939 分钟前
WebAssembly (Wasm)
java·开发语言·wasm
咸鱼加辣42 分钟前
【java面试题】springboot的生命周期
java·开发语言·spring boot
欧特克_Glodon1 小时前
C++医学图像处理经典ITK库用法详解<一>:图像输入输出模块功能
c++·图像处理·itk
C雨后彩虹1 小时前
任务总执行时长
java·数据结构·算法·华为·面试