C++:用于改变基类成员在派生类中访问属性的访问声明的注意点

假定有一个基类Basic,它的公有成员函数show()用来显示其他保护数据成员;现在它被一个叫做Next的派生类私有继承了,那么基类的show()函数在派生类中为私有成员函数,即无法在类外通过Next的对象来调用它。这时,我们可以在Next的“public:”之中写下这一句访问声明:Basic::show;然后我们便能通过Next的对象(假定为next)来调用基类的show()函数:next.show();

大体用途讲完,现在来看看几个使用访问声明时需要注意的点:

1、访问声明所能改变的派生类成员的访问属性与这些成员在基类中的访问属性有关,数据成员,函数成员都可以使用访问声明:在基类中为公有成员的,在派生类中使用访问声明只能把它变成派生类的公有成员;基类的保护成员同理;基类的私有成员不允许使用访问声明改变其在派生类中的性质。

2、访问声明在表达时,即使将改变的目标是函数成员,也不能在函数名后面带上括号“()”,如开头处的示例:Basic::show;

3、第二点中不允许带括号的做法导致了一个结果:当该想要改变访问方式的函数有重载函数时,重载函数也会被改变访问方式,这一点值得注意。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值