我有一個項目,我有很多相關的信息類,我正在考慮建立一個AbstractInfo類,然後是一堆派生類的層次結構,必要時覆蓋AbstractInfo的實現。然而事實證明,在C++中使用AbstractInfo類來創建一個派生的對象並不那麼簡單。 (請參閱this問題,對最後一個答案的評論)C++工廠和鑄造問題
我打算創建一個工廠類,它創建一個Info對象並始終返回一個AbstractInfo對象。我從C#知道你可以用接口來實現,但在C++中看起來有些不同。
向下鑄造成爲一件複雜的事情,它似乎容易出錯。
有沒有人對我的問題有更好的建議?
你能詳細說明你的意思嗎?不是那麼簡單嗎? – SingleNegationElimination 2010-09-28 08:06:17
一般來說,如果你在'AbstractInfo'中沒有完整的接口,只需要一個問題,即你需要訪問一些只在子類中定義的方法。但是這也可能意味着你的設計不夠理想。這些信息很難再多說。 – 2010-09-28 08:12:33