Friend 类及其所有后代
Posted
技术标签:
【中文标题】Friend 类及其所有后代【英文标题】:Friend class and all its descendants 【发布时间】:2009-10-02 11:12:03 【问题描述】:假设我有一个带有几个子类(B、C 和 D)的 A 类。我需要 B C 和 D 来访问 E 类中的一些受保护成员。是否有可能一次性使 B、C 和 D 成为 E 的朋友而不必列出所有成员?
我试过了:
class E
friend class A;
...
;
但这不起作用。
谢谢
【问题讨论】:
请参阅parashift.com/c++-faq-lite/friends.html,了解为什么友谊不是继承、传递或互惠的。 【参考方案1】:您可以将受保护的访问器函数放在 A 中,并让 A 成为 E 的朋友。这样,A 的所有派生类都可以通过访问器函数访问 E 的成员。
【讨论】:
以上是关于Friend 类及其所有后代的主要内容,如果未能解决你的问题,请参考以下文章
学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student)。请用Python语言简要实现这些类及及其属性,以及它们之间的关系。