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 );
}
相关推荐
m0_480502641 小时前
Rust 登堂 之 函数式编程(三)
开发语言·后端·rust
君鼎2 小时前
More Effective C++ 条款01:仔细区别 pointers 和 references
c++
工藤新一¹3 小时前
C/C++ 数据结构 —— 树(2)
c语言·数据结构·c++·二叉树··c/c++
源远流长jerry3 小时前
STM32之DMA详解
linux·网络·c++·stm32·单片机·嵌入式硬件
是店小二呀3 小时前
【C++】智能指针底层原理:引用计数与资源管理机制
android·java·c++
eqwaak04 小时前
科技信息差(8.26)
大数据·开发语言·人工智能·编辑器
FirstFrost --sy5 小时前
map和set的使⽤
c++·set·map
黑客影儿5 小时前
在Godot中为您的游戏添加并控制游戏角色的完整技术指南
开发语言·游戏·游戏引擎·godot·gdscript·游戏开发·3d游戏
不午睡的探索者5 小时前
FFmpeg + WebRTC:音视频开发的两大核心利器
c++·github·音视频开发
愚润求学5 小时前
【贪心算法】day3
c++·算法·leetcode·贪心算法