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;
}
相关推荐
草莓熊Lotso4 分钟前
【Linux网络】从0手写Reactor反应堆(二):完善核心细节——ET非阻塞读写、分层架构与回调机制
linux·运维·服务器·网络·c++·tcp/ip·架构
accept 99%4 分钟前
python版提取 PDF 的常用第三方库与工具
开发语言·python·pdf
lzhdim5 分钟前
C# 通过 Windows API 实现进程内存读写操作
开发语言·windows·c#
Olafur_zbj6 分钟前
【AI】CUDA编程中的维度
人工智能·算法
-银雾鸢尾-13 分钟前
C#中的预处理指令
开发语言·c#
cvby18 分钟前
C++哈希
c++·哈希算法·散列表
Livia要学习19 分钟前
Python面向对象三大特性:封装、继承、多态
开发语言·python
dalong1023 分钟前
Savitzky-Golay 的C# 实现
开发语言·kotlin·c#
世事如云有卷舒25 分钟前
GoogTest测试框架
c++·测试
坚持编程的菜鸟1 小时前
模拟实现memcpy
c语言·算法·模拟实现my_memcpy