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

实现效果

相关推荐
阿林学习计算机6 分钟前
C++11特性
c++
_OP_CHEN10 分钟前
算法基础篇:(十一)贪心算法拓展之区间问题:从重叠到覆盖的最优解艺术
算法·贪心算法
yi碗汤园14 分钟前
Visual Studio常用的快捷键
开发语言·ide·c#·编辑器·visual studio
Elias不吃糖35 分钟前
NebulaChat:C++ 高并发聊天室服务端
开发语言·c++·redis·sql·项目文档
haofafa38 分钟前
JavaScript性能优化实战
开发语言·javascript·性能优化
帅中的小灰灰44 分钟前
C++编程策略设计模式
开发语言·c++·设计模式
O***p6041 小时前
JavaScript增强现实开发
开发语言·javascript·ar
钟智强1 小时前
线性映射(Linear Mapping)原理详解:机器学习中的数学基石
人工智能·算法·机器学习
Antonio9151 小时前
【Swift】Swift基础语法:函数、闭包、枚举、结构体、类与属性
开发语言·swift
csbysj20201 小时前
Vue3 事件处理
开发语言