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 );
}
相关推荐
溪语流沙3 分钟前
【Python项目实战】部署上线:把博客发布到云服务器
服务器·开发语言·python
渡我白衣7 分钟前
Util工具类功能设计与类设计
linux·服务器·网络·c++·人工智能·目标检测·机器学习
岁岁种桃花儿11 分钟前
Vue组件第六篇:Vue单文件组件
开发语言·前端·javascript·vue.js
小王的创意工坊12 分钟前
C++ 在线判题平台(OJ)测试报告
c++·可用性测试
朽棘不雕18 分钟前
Qt项目代码解释
开发语言·qt
计算机毕设定制辅导-无忧学长27 分钟前
《基于Java的旧物回收管理系统设计与实现》
java·开发语言
“AI国潮设计-小江”27 分钟前
【Python/SDXL实战】潮汕国潮IP视觉落地:普宁美食猫IP & 创意甜品设计(附ComfyUI工作流与商用授权思路)
开发语言·人工智能·python·prompt·aigc
sdm07042735 分钟前
仿muduo库实现高并发服务器-下
开发语言·网络·c++·多路转接
爱和冰阔落38 分钟前
【Linux】手写日志与固定线程池:任务队列、工作线程和安全退出
linux·运维·c++·redis·安卓
爱奥尼欧44 分钟前
【Git】远程分支删了本地还在、两个分支历史不相干?两招故障排解
开发语言·git