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;
}
相关推荐
緈福的街口12 分钟前
【leetcode】36. 有效的数独
linux·算法·leetcode
qq_5278878723 分钟前
ImportError: cannot import name ‘PfeifferConfig‘ from ‘transformers‘【已解决】
linux·开发语言·python
开开心心就好30 分钟前
Word批量转PDF工具
开发语言·人工智能·pdf·c#·vim·excel·语音识别
在半岛铁盒里34 分钟前
代码填空题技术实现:突破 highlight.js 安全限制的工程实践
开发语言·javascript·highlight
秃然想通1 小时前
C语言——深入解析字符串函数与其模拟实现
c语言·开发语言
落羽的落羽1 小时前
【C++】来学习使用set和map吧
c++·学习
加什么瓦1 小时前
Mybatis
java·开发语言·mybatis
CN.LG1 小时前
C# StringBuilder代码中预分配容量的作用
java·开发语言·c#
(・Д・)ノ2 小时前
python打卡day51
开发语言·python·深度学习