引数として整数または文字列のいずれかを取ることができるgetNameメソッドを持つ基本クラスAがあるとします。だから私は、作成:C++で複数の引数型を持つ仮想メソッド
virtual string getName(int index) = 0;
virtual string getName(string key) = 0;
は今、私は2件の異なるサブクラスのBを作成したいとC. BにのみgetName(int index)
必要とCのみgetName(string key)
を必要とします。 しかし、両方のサブクラスで両方のメソッドを上書きしないと、エラーが発生します。しかし、私がこれを行うと、BとCは空の方法を持っています。他のケースは必要ありません。getName
どうすればこの問題を解決できますか?単純にすることで
(名前の貼り付けが悪である)テンプレートの代わりに、名前の貼り付けを使用して、ヴィットリオ・ロメオの溶液と同じですgetNameにintまたはstringパラメータをサポートするかどうかを知りますか? – marcinj
@AlexandreTHOUVENIN私はそれを疑っています。おそらく、定義がint型とstring型の両方で同じであってはなりません。 – George
'A'の使用例を追加してもらえますか?同じ基本クラスに 'getName'の両方のオーバーロードが必要なのはなぜですか? –