我有一個關於如何在C++中解決以下問題:項目系統問題繼承
因此,說我有2個項目。一把劍和一把刀。
阿劍的結構如下所示:
baseItem > Equippable (Holds events and boolean checks) > Weapon (Same) > Sword
刀的結構如下所示:
baseItem > Equippable > Weapon > Knife
我大部分的類和函數將要處理的項目(庫存,集裝箱,創建Item實例的函數)都將是baseItem類型的。
如何指定功能,如:
baseItem createItem(int index, type itemType)
以這樣的方式,我可以退貨或投備份到劍/刀
?這對於庫存尤爲重要,因爲我需要從ItemSlot中拉出物品,這些物品也會持有baseItem類型的物品,但需要不斷檢查它們是劍,刀等。
多次通話都會返回劍嗎?如果是這樣,這對我不起作用。 – Sinistralis
@Sinistralis多次調用會返回您要求他們返回的任何內容。如果您調用'Knife * knife = basrItem :: createItem(321)',則會返回一個Knife對象。 –
dasblinkenlight
好的,這聽起來完全像我需要的那樣。我的最後一個問題是,存儲被指向的對象的最佳方式是什麼?你用筆記觸及了它的基礎,但我不確定是否完全遵循。現在我將這些項目存儲在Vector中,並且工作正常。我實際上正在製作「實例」項目,這些項目包含每個項目的數據,這些都是需要存儲位置的內容。 – Sinistralis