在我的遊戲引擎的所有權,有三大類:EntityCharacter,EntityVehicle和EntityVehicleSeat。C++ - 代表通過指針
EntityVehicle包含指針EntityCharacter的實例座對象。如果座位對象的目標字符實體指針是一個空指針,沒有字符坐在特定座位的對象。 EntityCharacter級的情況下,也紛紛指針座位的對象,這表明,這些字符實體是否坐在一些車輛或沒有。
換句話說,EntityCharacter類實例的指針指向EntityVehicleSeat和周圍的其他方法:
EntityCharacter -> EntityVehicleSeat
EntityCharacter <- EntityVehicleSeat
這樣我們就可以通過檢查文字與車輛實體所有權。
這將是簡單的設置指針指向對方,但有一個問題 - 如果其他對象超出範圍,我們最終不得不在餘下的對象無效指針。
怎麼能代表這種所有權sophisticatedly的?另一個對象如何被告知另一個對象不再存在的事實?
使用的通知。 – Yousf
你可以使用析構函數來通知其他對象? –
這只是1:1的關係嗎? – Potatoswatter