ofe*_*er 26 c++ inheritance private
我有一个A类,它有一个声明为私有的字段val.我想声明一个B类,它继承自A并具有对val的访问权限.有没有办法在C++上做到这一点?
我想这样做是因为我需要重载A的一些函数,而根本不需要更改A代码.
谢谢.
Con*_*ius 45
快速回答:你没有.这就是protected
关键词的用途,如果你想授予对子类的访问权限,你想要使用它,而不是其他人.
private
意味着没有人可以访问这些变量,甚至不能访问子类.
如果您根本无法更改代码A
,则可能存在该变量的public
/ protected
access方法.否则这些变量不能从子类访问,只有黑客可以帮助(我不鼓励!).
小智 16
基类的私有成员只能由基本成员函数(不是派生类)访问.所以你没有权利甚至没有机会这样做:)
class Base