C++,类的公有继承,基类的私有成员在派生类中不可见或不可访问,这个不可见或不可访问是什么意思?

我的理解:公有继承就是派生类复制了一份基类的公有成员和受保护成员,私有成员没有复制过来,就是说派生类里面没有和基类的私有成员名字一样的成员。
这个理解对吗?

简单的表达一下,父母跟子女。基类就是父母,子女就是派生类。基类的私有成员就好比是父母的私房钱,子女能够继承父母的样貌(即公有成员),但是子女没法使用父母的私房钱也不能知道有多少私房钱(即不可见或不可访问),就是这么个意思。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
我也来打个比方。
父亲 儿子 妻子 财产 教育基金。
父亲的妻子 自由老子自己可以用 私有的
父亲财产 儿子可以继承 老子 和儿子都可以用 公有的
父亲给儿子的教育基金 只有儿子可以用 受保护的 ,对儿子来说是私有的。

总结
私有的只能通过父亲的方法去使用。
公用的父亲儿子方法都可以去用。
保护的只有通过儿子的方法去访问本回答被提问者和网友采纳
第2个回答  2013-04-16
公有继承(public)将父类中的成员的可见性原搬不动的移到派生类里,原来私有(private)依然保持私有,公有依然保持公有...
可见性是对类以外空间来说的追问

你是说继承后,父类的私有成员,到了派生类里还是私有成员?
那么派生类的成员函数岂不是还可以访问这个私有成员吗?

追答

派生类里是可以访问父类的公有成员的
私有成员到派生类时仍然占用存储空间,无法直接访问

第3个回答  2013-04-16
从物理上讲是复制过来了,在内存中确实有复制。但是从程序上看是被屏蔽了,不能直接调用。
第4个回答  2013-04-16
外部成员无法访问内部私有成员。
相似回答