【发布时间】:2017-08-23 10:15:39
【问题描述】:
我有 3 节课
class A {
B *b;
}
class B {
C *c
}
class C {
....
}
从 A 类访问 B 类中 C 类实例的最佳方法是什么?还请建议一种方法来为这些类中的每一个编写构造函数?
【问题讨论】:
-
在这里重新考虑您想要什么。您希望它们是私有的,还是希望其他类直接接触它们? 2是矛盾的。但是,如果您希望这些成员公开,只需按相反的顺序编写类即可。
-
如果成员是私有的,您不应该访问它们。将它们公开或创建公共访问器。
-
鉴于您提供的信息,最简单的解决方案是让会员
public。对于其他任何事情,您需要考虑A、B和C到底是什么,它们之间的关系以及为什么首先将c声明为private -
最简单也是最快的方法是使用“朋友”关键字。
-
看,正如其他人提到的那样,这可以通过“朋友”或为您提供指向私有成员的指针的函数来完成,或诸如此类。但是如果你必须这样做,你需要重新考虑你的类设计。这不是一个好主意——如果是这样,就不需要私人成员了!换句话说,你可以这样做,但你不应该这样做:-)
标签: c++ cocos2d-x class-design