我想限定一個抽象基類X和執行以下操作:C++執行條件對繼承類
一個)每一個具體等級Y,從X繼承定義構造Y(INT X)
b)應該可以測試兩個Y對象是否相等。
對於一個不是很好的解決方案是在X 中放置一個純虛擬fromInt方法,具體類將必須定義。但我無法執行施工。
對於b)中,我似乎無法使用純虛擬方法在X
bool operator == (const X& other) const =0;
因爲在重寫類這仍然不確定。這是不夠的定義
bool operator == (const Y& other) const { //stuff}
因爲類型不匹配。我如何解決這些問題?
爲什麼你關心你的派生類型構造函數是什麼樣的?或者他們是否定義了一個平等功能?如果你在某個地方使用這些模板(某個模板在某處?),那麼它將無法編譯。如果你不使用它們,那麼就沒有這樣的要求。請注意,你不能使用構造函數polymorphicaly,也不能'operator =='真的......(虛擬'operator =='最可能不會做你想做的事情) – 2010-04-13 22:06:26