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

2024-12-12 05:37:22
推荐回答(5个)
回答1:

简单的表达一下,父母跟子女。基类就是父母,子女就是派生类。基类的私有成员就好比是父母的私房钱,子女能够继承父母的样貌(即公有成员),但是子女没法使用父母的私房钱也不能知道有多少私房钱(即不可见或不可访问),就是这么个意思。

回答2:

我也来打个比方。
父亲 儿子 妻子 财产 教育基金。
父亲的妻子 自由老子自己可以用 私有的
父亲财产 儿子可以继承 老子 和儿子都可以用 公有的
父亲给儿子的教育基金 只有儿子可以用 受保护的 ,对儿子来说是私有的。

总结
私有的只能通过父亲的方法去使用。
公用的父亲儿子方法都可以去用。
保护的只有通过儿子的方法去访问

回答3:

公有继承(public)将父类中的成员的可见性原搬不动的移到派生类里,原来私有(private)依然保持私有,公有依然保持公有...
可见性是对类以外空间来说的

回答4:

从物理上讲是复制过来了,在内存中确实有复制。但是从程序上看是被屏蔽了,不能直接调用。

回答5:

外部成员无法访问内部私有成员。