可以說我有一個基類A,我想要一個方法getName,它可以採用整數或字符串作爲參數。所以我創建:在C++中有多個參數類型的虛擬方法
virtual string getName(int index) = 0;
virtual string getName(string key) = 0;
現在,我想創建兩個不同的子類B和C.只有B需要getName(int index)
和C只需要getName(string key)
。 但是,如果我不覆蓋兩個子類中的兩種方法,則會出現錯誤。但如果我這樣做,那麼B和C將有一個空方法,因爲他們不需要另一個案例getName
我該如何克服這個問題?
當您將使用類B和C,使用基本接口,如何維托裏奧·羅密歐的解決方案你會知道它是否支持帶int或字符串參數的getName? – marcinj
@AlexandreTHOUVENIN我對此表示懷疑,定義可能不應該是'int'和'string'類型。 – George
您能否添加一個'A'的使用示例?爲什麼你需要在同一個基類中同時使用'getName'重載? –