4.3调整基类成员在派生类中的访问属性的方法

同名成员

在定义派生类的时候,C++语言允许派生类与基类中的函数名相同。如果在派生类中定义了与基类中相同的成员,则称派生类成员覆盖了基类的同名成员,在派生类中使用这个名字意味着访问在派生类中重新说明的成员。为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域标识符

基类名::成员名

访问声明 

在前面我们也知道,私有继承方式会改变访问属性,比如,在基类的公有成员,私有继承后,这个成员在派生类中就成为了私有成员了,外界不能直接访问,那么我们怎么解决这个问题呢。

公有继承时,基类的公有成员还是公有成员,我们还可以在外界访问。如果修改成私有继承呢

 

那么私有继承我们应该怎么使用私有成员的数据。

 

我们加入using *****语句就可以使用私有成员了

访问声明机制可以在私有派生类中个别调整从基类继承下来的成员性质,从而使外界可以通过派生类的界面直接访问基类的某些成员,而且不需要其他类成员的封装。

1)访问声明中只含不带类型和参数的函数名或变量名。如上图,不带类型和参数

2)访问声明不能改变成员在基类中的访问属性,也就是说,访问声明只能把源基类的保护成员调整为派生类的保护成员,把原基类的公有成员调整为私有派生的公有成员,但基类的私有成员不能直接访问使用。

3)对于基类中的重载函数名,访问声明将对基类中所有同名函数起作用,这意味着有重载函数时要小心使用。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值