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;
}
相关推荐
冷崖2 分钟前
单例模式-创建型
c++·单例模式
努力学习的小廉6 分钟前
【QT(三)】—— 信号和槽
开发语言·qt
盼哥PyAI实验室11 分钟前
Python自定义HTTP客户端:12306抢票项目的网络请求管理
开发语言·python·http
这儿有一堆花15 分钟前
Python优化内存占用的技巧
开发语言·python
mit6.82418 分钟前
tree
算法
明洞日记19 分钟前
【VTK手册024】高效等值面提取:vtkFlyingEdges3D 详解与实战
c++·图像处理·vtk·图形渲染
拉姆哥的小屋22 分钟前
基于Benders分解的大规模两阶段随机优化算法实战:从理论到工程实践的完整解决方案
人工智能·算法·机器学习
NaturalHarmonia29 分钟前
【Go】sync package官方示例代码学习
开发语言·学习·golang
遥望九龙湖32 分钟前
3.析构函数
开发语言·c++
qq_4798754332 分钟前
systemd-resolved.service实验实战3
linux·服务器·c++