Überlastung durch den Rückgabetyp

Las ich einige Fragen hier SO zu diesem Thema, die scheint noch verwirrend für mich. Ich habe gerade angefangen zu lernen, C++, und ich habe nicht studiert Vorlagen oder noch einen operator überladen und so.

Nun gibt es eine einfache Möglichkeit, um eine überlastung

class My {
public:
    int get(int);
    char get(int);
}

ohne Vorlagen oder seltsames Verhalten? oder sollte ich einfach

class My {
public:
    int get_int(int);
    char get_char(int);
}

?

mögliche Duplikate von überladen von Funktionen durch den Rückgabetyp?
Ich mag deinen Kommentar. Kurz, aber völlig solide.
V-aktuell gibt es bereits eine solche Mehrdeutigkeit mit der Einnahme der Adresse einer überladenen Funktion. In einem solchen Fall sollte es einige geben der Erwartung Ausdruck. In Fall gibt es nicht das Programm ist schlecht ausgebildet. Und dies ist bereits umgesetzt. Ich glaube nicht, es werde sehr schwierig sein, die gleichen Regeln, die für die Umsetzung überladen von Funktionen durch den Rückgabetyp. Also in deinem konkreten Beispiel Mehrdeutigkeiten entfernt werden, mit einer Besetzung, zu der zurückgegebene Typ. Instancing mit int Rückgabewert wird wie folgt Aussehen (int)get(9) und mit char wie diese (char)get(9).
Wenn Sie erreichen hier, ich denke, die beste Wahl, es zu denken, der zwei unterschiedliche Funktionsnamen, wie vorgeschlagen, durch Luchian.

InformationsquelleAutor Shoe | 2012-03-05

Schreibe einen Kommentar