成员函数访问建议我有4个班以下层次结构的:C++:在同样的体系结构层
MyTop
|
-------------------
| | |
BlockA BlockB BlockC
BlockA
,BlockB
和BlockC
是MyTop
的组成对象。 BlockA
提供函数LookUpTable()
,BlockB
和BlockC
现在需要访问BlockA
拥有的查找表。访问查找表的BlockB
和BlockC
有什么好的(或者至少是典型的)做法?
我想过把查找表本身作为一个类来实现,但是loop-up表的内容与BlockA
的初始化稍有联系,并且将表从BlockA
中解耦出来可能不是微不足道的仍然可行,但不是首选)。现在我的解决方案是将请求从BlockB
和BlockC
传递到MyTop
,并让MyTop
管理块之间的通信。但是,当有更多的块需要访问BlockA
中的查找表时,处理此问题似乎不是一种好方法。我想知道这是否是一个众所周知的问题,并且已经有一个“最佳实践”解决方案。谢谢!
我觉得这个表是一个单身人士。但是,我该如何授予对'BlockB'和'BlockC'的访问权限? (我知道单例模式,但从来没有自己实现过。) – YYC 2010-11-04 18:54:17
只需提供一个静态函数,即可访问唯一实例。请参阅此实现,例如:https://bitbucket.org/sinbad/ogre/src/3ca441c19bd8/OgreMain/include/OgreSingleton.h – Klaim 2010-11-04 21:32:12