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;
}
相关推荐
小熳芋1 分钟前
单词搜索- python-dfs&剪枝
算法·深度优先·剪枝
Bruce_Liuxiaowei11 分钟前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
智航GIS13 分钟前
5.1 if语句基础
开发语言·python
Xの哲學14 分钟前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
oioihoii15 分钟前
跨越进程的对话之从管道到gRPC的通信技术演进
c++
bu_shuo17 分钟前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
高洁0130 分钟前
图神经网络初探(2)
人工智能·深度学习·算法·机器学习·transformer
爱装代码的小瓶子41 分钟前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
思成Codes44 分钟前
数据结构:基础线段树——线段树系列(提供模板)
数据结构·算法
KoalaShane1 小时前
El-slider 增加鼠标滚动滑块事件
开发语言·前端·javascript