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 );
}
相关推荐
ArturiaZ3 分钟前
【day55】
数据结构·c++·算法
仰泳的熊猫5 分钟前
题目2279:蓝桥杯2018年第九届真题-日志统计
数据结构·c++·算法·蓝桥杯
Emilin Amy13 分钟前
【ROS】机器人的速度/角度/力矩控制是如何实现的
c++·算法·控制·ros1/2
冉佳驹17 分钟前
C++11 ——— 线程库与单例模式的原理、实现及线程安全设计
c++·单例模式·饿汉模式·懒汉模式·c++线程库·c++互斥锁·c++条件变量
m0_6625779720 分钟前
C++中的享元模式实战
开发语言·c++·算法
一直学习的程序小白23 分钟前
java进阶-优化GC垃圾回收机制
java·开发语言·jvm
tankeven30 分钟前
最短路径问题00:dijkstra算法
c++·算法
REDcker37 分钟前
glibc、libstdc++ 与 libc++ 区别与联系
开发语言·c++
2401_8442213237 分钟前
内存对齐与缓存友好设计
开发语言·c++·算法
qiuyunoqy41 分钟前
Linux进程 --- 5(进程地址空间初识)
linux·c++·算法