C ++では、戻り型に基づくメソッドのポリモーフィズムは許可されていません。ただし、暗黙の変換メンバー関数をオーバーロードする場合、これは可能と思われます。
誰かが理由を知っていますか?演算子は内部的にメソッドのように扱われると思いました。
編集:ここに例があります:
struct func {
operator string() { return "1";}
operator int() { return 2; }
};
int main( ) {
int x = func(); // calls int version
string y = func(); // calls string version
double d = func(); // calls int version
cout << func() << endl; // calls int version
}