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;
}
相关推荐
toooooop811 分钟前
php BC MATH扩展函数计算精度-第三个参数
开发语言·php
蓁蓁啊14 分钟前
C/C++编译链接全解析——gcc/g++与ld链接器使用误区
java·c语言·开发语言·c++·物联网
XX風15 分钟前
3.2K-means
人工智能·算法·kmeans
weixin_3077791321 分钟前
C#实现两个DocumentDB实例之间同步数据
开发语言·数据库·c#·云计算
foundbug99928 分钟前
基于C#的OPC DA客户端实现源码解析
开发语言·c#
yuezhilangniao34 分钟前
Next.js 项目运维手册-含-常用命令-常见场景
运维·开发语言·reactjs
D_evil__1 小时前
【Effective Modern C++】第四章 智能指针:19. 对于共享资源使用共享指针
c++
czxyvX1 小时前
016-二叉搜索树(C++实现)
开发语言·数据结构·c++
蒟蒻的贤1 小时前
leetcode链表
算法·leetcode·链表
1104.北光c°1 小时前
【从零开始学Redis | 第一篇】Redis常用数据结构与基础
java·开发语言·spring boot·redis·笔记·spring·nosql