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;
}
相关推荐
清水白石00816 分钟前
Python 纯函数编程:从理念到实战的完整指南
开发语言·python
掘根19 分钟前
【C++STL】平衡二叉树(AVL树)
开发语言·数据结构·c++
叫我一声阿雷吧22 分钟前
JS实现响应式导航栏(移动端汉堡菜单)|适配多端+无缝交互【附完整源码】
开发语言·javascript·交互
瓦特what?29 分钟前
快 速 排 序
数据结构·算法·排序算法
前路不黑暗@36 分钟前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
niuniudengdeng37 分钟前
基于时序上下文编码的端到端无文本依赖语音分词模型
人工智能·数学·算法·概率论
hetao173383739 分钟前
2026-02-13~16 hetao1733837 的刷题记录
c++·算法
毅炼44 分钟前
Java 集合常见问题总结(3)
java·开发语言·后端
沐知全栈开发1 小时前
ionic 对话框:深度解析与最佳实践
开发语言
浅念-2 小时前
C++ string类
开发语言·c++·经验分享·笔记·学习