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 );
}
相关推荐
为啥全要学几秒前
大模型流式输出过滤敏感词
开发语言·python
小溪学编程2 分钟前
C语言篇:语言结构
c语言·开发语言·算法
老王爱玩车3 分钟前
字符串和字符串函数
c语言·开发语言·数据结构·学习
welfare96218 分钟前
新号别搞:vector
c++
mlidongfeng21 分钟前
【学习笔记】【NV】GIN
开发语言·php
welfare96228 分钟前
新号别搞:string
c++
Omics Pro32 分钟前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
小道士写程序41 分钟前
Windows Rust 环境安装指导
开发语言·windows·rust
xh didida42 分钟前
Linux -- 进程概念
linux·服务器·开发语言·c++
爱吃香菜的初学者42 分钟前
十三.Linux——信号量
linux·运维·服务器·开发语言