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 );
}
相关推荐
神仙别闹8 小时前
基于PHP+MySQL实现在线考试系统
开发语言·mysql·php
fanzhonghong9 小时前
javaWeb开发之Maven高级
java·开发语言·spring boot·spring cloud·私服
luck_bor9 小时前
Lambda表达式 算法异常
java·开发语言
lsx2024069 小时前
SOAP Envelope 元素
开发语言
范范@9 小时前
day2-python基础语法
开发语言·python
qq_2518364579 小时前
基于java 私厨美食共享平台系统设计与实现(有源码)
java·开发语言·美食
ZPC82109 小时前
规划后的轨迹,如何发给 moveit_servo 执行
c++·人工智能·算法·3d
杜子不疼.9 小时前
【C++ 在线五子棋对战】 - 工具类模块实现
开发语言·c++
夏至春来-美美9 小时前
python 使用pytest的ini配置
开发语言·python·pytest
geovindu9 小时前
python: Mutex Pattern
开发语言·python·设计模式·互斥锁模式