class_18:多态

cpp 复制代码
#include <iostream>

using namespace std;

class RemoteCon{
public:
    virtual void openUtils()
    {
        cout<<"base:open "<<endl;
    }
};

class TvRemoteCon:public RemoteCon{
public:
    void openUtils () override
    {
        cout<<"TV open "<<endl;
    }
};

class LightCon:public RemoteCon{
public:
    void openUtils () override
    {
        cout<<"Light open "<<endl;
    }
};

void test(RemoteCon &base)
{
    base.openUtils();
}
int main()
{
    //父类的指针指向子类的对象
    RemoteCon *r = new TvRemoteCon;
    r->openUtils();

    RemoteCon *r1 = new LightCon;
    r1->openUtils();

    //父类的引用指向子类的对象
    TvRemoteCon tv;
    test(tv);//RemoteCon &base = tv
    return 0;
}
相关推荐
j7~15 小时前
【Linux】基础IO超万字解析(文件描述符)(2)
linux·运维·服务器·c++·file·重定向·文件描述
吃好睡好便好15 小时前
在Matlab中绘制二维等高线图
开发语言·人工智能·学习·算法·matlab
lingzhilab15 小时前
零知派ESP32——TCS3200高精度RGB颜色识别系统教程
c++·mfc
wkj00115 小时前
JavaScript模块化技术进程详解
开发语言·javascript·ecmascript
2zcode15 小时前
基于Matlab元胞自动机模拟(CA)动态再结晶过程
开发语言·matlab·动态再结晶
Gerardisite15 小时前
企业微信怎么玩?用 API 打造智能私域助手
开发语言·python·机器人·企业微信
Mr_pyx15 小时前
LeetCode Hot 100 - 最长递增子序列完全题解
算法·leetcode·职场和发展
buhuizhiyuci15 小时前
【QT-百日筑基篇】打完完怪,开始学炼丹, 前往藏书阁寻找对应材料的信息,并前往去寻找对应材料-QT信号和槽
开发语言·qt
Mr_pyx15 小时前
LeetCode Hot 100 - 爬楼梯完全题解
算法·动态规划
csbysj202015 小时前
Bootstrap5 Jumbotron 深入解析
开发语言