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 );
}
相关推荐
GIOTTO情几秒前
2026小红书投流新规下,基于Infoseek API的媒介投放自动化方案
java·linux·开发语言
xiaoye-duck2 分钟前
《算法题讲解指南:优选算法-分治-归并》--49.计算右侧小于当前元素的个数,50.翻转对
c++·算法
_Twink1e2 分钟前
[算法竞赛]八、排序、排列
数据结构·c++·笔记·算法·排序算法
im_AMBER3 分钟前
Leetcode 137 组合 | 电话号码的字母组合
开发语言·算法·leetcode·深度优先·剪枝
Never_Satisfied4 分钟前
在JavaScript / HTML中,判断指定的元素是否含有某个类
开发语言·javascript·html
牢七5 分钟前
Slim-4.x php审计 前言篇
开发语言·php
沐知全栈开发5 分钟前
HTML 列表
开发语言
froginwe117 分钟前
HTML 实例详解
开发语言
知我Deja_Vu8 分钟前
【避坑指南】ConcurrentHashMap 并发操作的致命陷阱
java·开发语言
样例过了就是过了9 分钟前
LeetCode热题100 腐烂的橘子
数据结构·c++·算法·leetcode·bfs