child class 始终可以访问其 parent 的 public 成员,为什么以及如何可能?

the child class always have access to the public members of its parent, why and how it is possible?

为什么 child class 可以访问 parent class 的成员? 为什么 parent class 无法访问 child class 的成员? 我正在准备考试,在我过去的一篇论文中看到了这个推理题。这对我来说似乎很模糊,我很困惑这个问题的正确答案是什么。 这将非常有帮助,如果你们中的任何人都可以提供正确的解释为什么 parent 不知道 child class.

class parent{
 public :
 void access(){}
 };
class child:public parent{
 };`

使用 public 继承,您的派生 class 将可以访问在基础 class 中声明的受保护和 public 字段和方法。但是,您的基础 class 根本不知道您的派生 class。继承只能以一种方式起作用。您基本上扩展了 class.

的功能

你可以把它想象成把一个小盒子放进一个大盒子里。每个盒子都知道里面是什么,但不知道外面是什么。基础class是较小的盒子,派生的是较大的盒子。