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 );
}
相关推荐
qq_334903156 分钟前
高性能网络协议栈
开发语言·c++·算法
光电笑映7 分钟前
STL 源码解剖系列:map/set 的底层复用与红黑树封装
c语言·数据结构·c++·算法
老四啊laosi9 分钟前
[C++进阶] 19. map && set的使用
c++·set·map·算法题
阿贵---9 分钟前
模板编译期循环展开
开发语言·c++·算法
2601_954023669 分钟前
Beyond the Hype: Deconstructing the 2025 High-Performance Stack for Agencies
java·开发语言·算法·seo·wordpress·gpl
l1t14 分钟前
DeepSeek 辅助编写python程序求解欧拉计划932题:2025数
开发语言·python·欧拉计划
ysa05103016 分钟前
二分+前缀(预处理神力2)
数据结构·c++·笔记·算法
2401_8331977317 分钟前
嵌入式C++电源管理
开发语言·c++·算法
ms_27_data_develop20 分钟前
Java——集合
java·开发语言
灰色小旋风21 分钟前
力扣22 括号生成(C++)
开发语言·数据结构·c++·算法·leetcode