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;
}
相关推荐
froginwe11几秒前
Ruby CGI 编程
开发语言
nbsaas-boot1 分钟前
Java 还是 Go?——从工程规模到长期演进的技术选型思考
java·开发语言·golang
代码不停2 分钟前
Java递归综合练习
java·开发语言·算法·回归
前端小白在前进3 分钟前
力扣刷题:删除排序链表的重复元素Ⅱ
算法·leetcode·链表
小灰灰搞电子5 分钟前
Qt SCXML 模块详解
开发语言·qt
JAVA+C语言6 分钟前
Python+Django 核心介绍
开发语言·python·django
中年程序员一枚7 分钟前
不想花钱买会员,自己动手用python制作视频
开发语言·python·音视频
江公望7 分钟前
为什么Rust的编译工具依赖C语言的编译工具?
开发语言·rust
编程大师哥8 分钟前
Java Web 核心全解析
java·开发语言·前端
qq_214782619 分钟前
Hadley Wickham长文回顾:R语言tidyverse过去20年的演进之路、现状与未来展望!
python·算法·线性回归