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 );
}
相关推荐
Jordannnnnnnn15 分钟前
追赶33名
c++
会编程的土豆18 分钟前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法
2401_8796938719 分钟前
C++中的观察者模式实战
开发语言·c++·算法
William_wL_22 分钟前
【C++】string的实现
c++
工頁光軍32 分钟前
基于Python的Milvus完整使用案例
开发语言·python·milvus
wregjru35 分钟前
【网络】8.五种 I/O 模型与多路转接详解
开发语言·php
fff98111840 分钟前
C++与Qt图形开发
开发语言·c++·算法
xht08321 小时前
PHP vs Python:编程语言终极对决
开发语言·python·php
计算机安禾1 小时前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
23.1 小时前
【Java】char字符类型的UTF-16编码解析
java·开发语言·面试