假設我有三個類,一個稱爲字符,一個ork和一個人類。 人類和ork都來自角色。 是否有創建一個字符類型的函數,並且該函數內部能夠返回從ork或人類創建的對象。或者,也許有另一種方式來返回來自同一功能的ork或人類對象。從基類型的函數返回派生類對象
編輯:沒想到人們,當我嘗試這個早期我意外派生ork和來自不同類別的人。實際上可以從基類型的函數中返回派生類。 只是要清楚這是我在做什麼。
character game::getPlayer(char symbol) { switch (symbol) { case 'E': return elfPlayer; break; case 'G': return guardPlayer; break; case 'K': return knightPlayer; break; case 'R': return roguePlayer; break; case 'W': return wizardPlayer; break; } }
查找工廠模式。 –
要使多態性和繼承真正起作用,您需要使用引用或指針。如果你有一個需要創建一個子類的函數,它應該返回一個指向基類的指針。 –
@MikeMB:「你不能」是錯誤的。 –