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 小时前
排序算法详解1
开发语言·数据结构·c++·算法·排序算法
Via_Neo1 小时前
JAVA中对数的表达,将浮点数转为保留指定位数的字符串
java·开发语言
啊我不会诶1 小时前
25CCPC东北邀请赛vp补题
c++·算法
plus4s1 小时前
3月20日(进阶11)
c++·算法
Lzh编程小栈1 小时前
数据结构与算法——单链表超详解(C语言完整实现 + 面试高频题)
c语言·开发语言·面试
沐知全栈开发1 小时前
Shell 函数
开发语言
2301_816651221 小时前
移动语义在容器中的应用
开发语言·c++·算法
2401_857918291 小时前
实时数据处理中的C++应用
开发语言·c++·算法
2401_884563242 小时前
C++中的装饰器模式实战
开发语言·c++·算法
xiangpanf2 小时前
PHP vs Go:30秒读懂核心差异
java·开发语言