编码一个可以包含 6 个项目的库存可能看起来像这样:
class Inventory {
private:
Item[6] m_items;
};
现在另一方面,一个项目看起来像这样:
class Item {
private:
Inventory* m_parent;
};
但是,显然这两个类不能互相认识。一种解决方案是一个通用的基类,但是这两个类没有任何共同点,这会导致更多的问题,例如:我将无法m_parent->addItem(this);
从Item
的构造函数中调用。