在我的 C++ 项目中,我有一个Engine类和一个Object类。
我的问题在于我的实例是如何Object创建的。目前,这是通过使用类中的CreateObject(parameters)函数来完成的Engine。这会将一个新的实例添加到Object一个实例中。std::vectorObject
我想Object在我的Engine类中维护这个实例列表,但不需要该CreateObject(parameters)函数。我这样做的原因是我可以创建可以继承Object但仍被添加到此列表的新类。此列表的原因是(在Engine)我可以遍历Object已创建的每个实例。
这最终意味着我Object用类似的东西创建我的实例Object newObject = Object(parameters);,但仍然让Engine类维护所有Object实例的列表,而不需要Object引用实例Engine或列表以将自身添加到该列表中(如Objectshould不知道它所在的列表)。 这可以做到吗?