基本上對象被創建之前,我已經擁有另一個對象一類:調用函數的一類
class A()
{
A() { initSystems() };
void initSystems();
B b;
}
class B()
{
B() { //Does stuff that requires 'initSystems()' to be called before }
}
和「B」到功能,在init系統功能需要A.被稱爲是有什麼「好」的方法來解決這個問題?像稍後創建'B'對象或什麼?
謝謝你的答覆,所以這將是保存一個指向B類,(B * B)是一個好主意,然後初始化後,我已經叫initSystems()在構造函數(b = new b();)中,還是應該重新設計我的類? (在現實中,A類是一個'遊戲'類,它實際上是第一個運行的類,而B類是一個將遊戲對象渲染到屏幕上的渲染類) – TheInfernalCow
@ TheInfernalCow如果你的遊戲基本上是單一實例,希望將粘合劑和託管責任從其中移除到意識到系統和嵌套實體的事物上。它似乎是負責任的方式。 –