【发布时间】:2013-05-10 07:36:02
【问题描述】:
对于我正在编写的程序,我在 C++ 中创建了一个充满动物实体的 2d 世界。我有一个世界级和实体类(以及从实体继承的一系列不同类型的实体)。
我希望实体“知道”它所在的世界并能够与实体的二维数组进行良好交互,但我不希望它从世界继承(毕竟,实体 不是 世界)。所以我只是想获得一些想法来实现这个的好方法。我当然可以让每个实体都包含一个指向它所在世界的指针,但它看起来相当混乱。有没有更简单的方法让二维数组中的实体“知道”哪个世界对象包含它。
在c++中有什么方法可以让一个对象作为另一个对象的成员变量来知道包含它的对象吗?
谢谢!
【问题讨论】:
-
...我正要说“为什么每个实体都没有指向他所居住的世界的指针?”... :)
-
我会选择指针。
-
好像有点循环,有没有别的办法?
-
父母认识儿子,儿子认识父母,是否循环?
-
“循环”本身不是问题。特别是因为关系不是对称的:世界包含实体(拥有它们),但实体只看相同的世界你在黑夜里看星星的方式。 “看,不要碰”指针是一种相当有用的模式。
标签: c++ class object inheritance