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 );
}
相关推荐
Дерек的学习记录1 分钟前
Unreal Eangie 5:蓝图编程
开发语言·学习·ue5
hope_wisdom2 分钟前
C/C++数据结构之树
数据结构·c++·二叉树·
添尹10 分钟前
Go语言基础之指针
开发语言·后端·golang
2401_8274999913 分钟前
python项目实战10-网络机器人01
开发语言·python
哆啦阿梦14 分钟前
Java AI 应用工程师 - 完整技能清单
java·开发语言·人工智能
VT LI16 分钟前
Lua 源码执行流程全解析:词法分析、语法分析、字节码生成、虚拟机执行与垃圾回收
java·开发语言·lua
W230357657320 分钟前
经典算法:打家劫舍(动态规划 + 回溯求最优解)C++ 超详细解析
c++·算法·动态规划
凤山老林2 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
小成202303202658 小时前
Linux高级02
linux·开发语言
知行合一。。。9 小时前
Python--04--数据容器(总结)
开发语言·python