gpt4 book ai didi

c++ - Item - Inventory - 关系,哪一个应该知道另一个?

转载 作者:行者123 更新时间:2023-11-30 01:22:27 25 4
gpt4 key购买 nike

编码一个可以包含 6 个项目的库存可能看起来像这样:

class Inventory {
private:
Item[6] m_items;
};

现在另一方面,一个项目看起来像这样:

class Item {
private:
Inventory* m_parent;
};

但是,显然这两个类不能相互认识。一种解决方案是使用公共(public)基类,但这两个类没有任何共同点,这会导致更多问题,例如:我无法调用 m_parent->addItem(this); 来自 Item 的构造函数。

最佳答案

一个项目本身在逻辑上是完整的。项目值得在一个根本没有库存概念的系统中建模。一个项目甚至可能不在库存中。它甚至在理论上可能存在于多个库存中,具体取决于您建模的元素和库存种类。

另一方面,库存的存在仅仅是为了包含元素。它目前可能没有任何元素,但这本身就是库存的核心属性。

以上考虑使我得出结论,库存应该知道项目的概念以及它所持有的特定项目。虽然项目应该实现为完全忘记它们不仅在哪个库存中,而且对库存的概念

关于c++ - Item - Inventory - 关系,哪一个应该知道另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16331761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com