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 );
}
相关推荐
大鹏说大话1 分钟前
Go语言Channel并发编程实战:从基础通信到高级模式
开发语言·后端·golang
Jacky-0082 分钟前
Rust安装(MinGw64编译器安装)
开发语言·后端·rust
好家伙VCC4 分钟前
**发散创新:基于Python的自动化恢复演练框架设计与实战**在现代软件系统运维中,
java·开发语言·python·自动化
沐知全栈开发9 分钟前
Swift 函数
开发语言
xyq202415 分钟前
jEasyUI 添加工具栏
开发语言
XMYX-016 分钟前
10 - Go 指针:从入门到避坑
开发语言·golang
jjjava2.017 分钟前
数据库事务:ACID特性与实战应用
java·开发语言·数据库
山栀shanzhi20 分钟前
FFmpeg编码封装流程骨架
c++·ffmpeg
zzginfo22 分钟前
JavaScript 中 Array 、 Set 、 WeakSet 区别
开发语言·javascript·ecmascript
发发就是发25 分钟前
顺序锁(Seqlock)与RCU机制:当读写锁遇上性能瓶颈
java·linux·服务器·开发语言·jvm·驱动开发