解析C++隐藏与覆盖

在学习C++的继承与多态过程中我们接触到了隐藏与覆盖的概念,那么隐藏和覆盖分别做了些什么?

  • 在C++的继承中我们知道派生类可以继承基类的成员变量和成员函数,那么当派生类继承基类的成员变量和成员函数时自己也有同名的成员变量和同名且同参数列表的成员函数时是如何处理的呢?

  • 遇到这类情况C++的处理方式为隐藏和覆盖,下面就来介绍隐藏和覆盖。

隐藏

  • 派生类将继承的基类的同名的成员变量和成员方法隐藏起来,通过派生类只能访问到自己的成员变量和成员方法。若想要访问基类的成员变量和成员方法需加上基类的作用域。隐藏以后的直接效果就是:无论在派生类的内部或者外部(通过派生类成员)访问该成员;全都是访问派生类的同名成员; 如果在派生类内部或者外部(通过派生类成员)访问同名的成员函数,则需要根据函数调用的规则来调用派生类的同名成员函数;

例如:

#include<iostream>
using namespace std;
class A
{
public:
    vo
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值