C++基础 -25- 动态多态

静态多态在程序编译的时候,确定将要执行的状态。

动态多态在程序运行的时候,才能确定执行的状态。

下面举例实现动态多态

work函数接口通过传参不同做不同的工作

cpp 复制代码
#include "iostream"


using namespace std;

class person
{
    public:
    person()
    {

    }

    virtual void work()
    {
        cout << "没有工作" << endl;
    }
};

class police:public::person
{
    public:
    police()
    {

    }

    void work()
    {
        cout << "抓小偷" << endl;
    }
};

class nurse:public::person
{
    public:
    nurse()
    {

    }

    void work()
    {
        cout << "照顾病人" << endl;
    }
};

void work(person &a)
{
    a.work();
};


int main()
{
    nurse c;
    police cc;
    work( c );
    work( cc );
}
相关推荐
lly2024067 小时前
NumPy 高级索引
开发语言
XY_墨莲伊7 小时前
【编译原理】实验二:基于有穷自动机FA词法分析器设计与实现
c语言·开发语言·c++·python
小辉同志7 小时前
74. 搜索二维矩阵
c++·leetcode·矩阵·二分查找
广州灵眸科技有限公司7 小时前
瑞芯微(EASY EAI)RV1126B 网络摄像头方案
开发语言·网络·科技·嵌入式硬件·物联网
少许极端7 小时前
算法奇妙屋(四十五)-CCPC备战之旅-1
java·开发语言·算法
U盘失踪了7 小时前
go 常量
开发语言·后端·golang
techdashen7 小时前
Go 的新垃圾回收器 Green Tea:一个降低GC CPU开销的大工程
开发语言·后端·golang
fpcc7 小时前
信号处理与AI中的卷积的关系
c++·人工智能·信号处理
Java面试题总结7 小时前
BCrypt密码加密
开发语言·python
cici158747 小时前
C# 五子棋小游戏源码(人机对战)
开发语言·单片机·c#