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;
}
相关推荐
想唱rap4 分钟前
Linux开发工具(4)
linux·运维·服务器·开发语言·算法
Geoking.16 分钟前
【Java】Java 中 @Resource 与 @Autowired 的区别详解
java·开发语言
生而为虫24 分钟前
02.第一个Python程序
开发语言·python
前端炒粉25 分钟前
21.搜索二维矩阵 II
前端·javascript·算法·矩阵
星释32 分钟前
Rust 练习册 :Rail Fence Cipher与栅栏密码
开发语言·算法·rust
东方隐侠安全团队-千里34 分钟前
第3节 RSA算法开启公钥加密时代
网络·人工智能·算法
weixin_441455261 小时前
说说Java有哪些集合类
java·开发语言
李趣趣1 小时前
C#中关于ContextMenuStrip批量添加Item的问题
开发语言·c#
7澄11 小时前
深入解析 LeetCode 1:两数之和
算法·leetcode·职场和发展·arraylist