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 );
}
相关推荐
喵了meme7 分钟前
C语言实战6
c语言·开发语言
AAA阿giao10 分钟前
从“操纵绳子“到“指挥木偶“:Vue3 Composition API 如何彻底改变前端开发范式
开发语言·前端·javascript·vue.js·前端框架·vue3·compositionapi
小裴(碎碎念版)12 分钟前
文件读写常用操作
开发语言·爬虫·python
sheji341629 分钟前
【开题答辩全过程】以 基于Java的应急安全学习平台的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
WolfGang00732130 分钟前
代码随想录算法训练营Day48 | 108.冗余连接、109.冗余连接II
数据结构·c++·算法
winfield82131 分钟前
MCP 协议详解
开发语言·网络·qt
cheems95271 小时前
锁策略的介绍
java·开发语言
清水白石0081 小时前
《Python × 数据库:用 SQLAlchemy 解锁高效 ORM 编程的艺术》
开发语言·python·json
风中月隐1 小时前
C语言中以坐标的方式图解“字母金字塔”的绘制
c语言·开发语言·算法·字母金子塔·坐标图解法