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;
}
相关推荐
一支鱼3 分钟前
leetcode-1-两数之和
算法·leetcode·typescript
AndrewHZ10 分钟前
【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?
算法·3d·blender·nvidia·贴图·具身智能·isaac sim
Y|10 分钟前
XGBoost(eXtreme Gradient Boosting,优化分布式梯度提升库)总结梳理
人工智能·算法·机器学习
啊我不会诶29 分钟前
【图论】最短路算法
算法·图论
前端梭哈攻城狮42 分钟前
js计算精度溢出,自定义加减乘除类
前端·javascript·算法
不过普通话一乙不改名1 小时前
第四章:并发编程的基石与高级模式之atomic包与无锁编程
开发语言·golang
秋难降1 小时前
深入解析快速排序:原理、波动根源与优化之道
算法·排序算法·编程语言
睡不醒的kun1 小时前
leetcode算法刷题的第二十一天
数据结构·c++·算法·leetcode·职场和发展·回溯算法·回归算法
小欣加油1 小时前
leetcode 461 汉明距离
c++·算法·leetcode
淮北4941 小时前
linux系统学习(15.启动管理)
运维·服务器·网络·c++·vscode·学习