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 );
}
相关推荐
monstercl19 分钟前
【C#】元组
开发语言·c#
舒克日记30 分钟前
Java:189 基于SSM框架的在线电影评价系统
java·开发语言
Jelena技术达人33 分钟前
深入探索:获取翻译文本与语言词法分析的API接口
开发语言·爬虫
青青丘比特1 小时前
STL.string(下)
开发语言·c++
jjjxxxhhh1231 小时前
C++ 模板是为了解决啥问题
开发语言·c++·算法
gz94561 小时前
Virtualbox安装ubuntu20虚拟机无法打开终端
java·linux·开发语言
c++初学者ABC1 小时前
GESP2级2403 小杨的日字矩阵
c++·算法
奔跑的犀牛先生1 小时前
C#学习1:初接触,C#的一些基础,和相关报错
开发语言·c#
代码小将2 小时前
PTA数据结构编程题7-1最大子列和问题
数据结构·c++·笔记·学习·算法
HackKong2 小时前
高校网络安全_网络安全之道
java·网络·c++·python·学习·web安全·黑客技术