Aus Gründen der Klarheit Lassen Sie meine neue Klasse gebaut:C++ - Umwandlung von benutzerdefinierten Klassen in Typen
lassen Sie uns sagen, dass ich zu definieren, in der Lage sein wollen:
MyInt Three(30);
int thirty = Three;
Aber in um dieses Ergebnis zu erhalten, ich schreibe:
MyInt Three(30);
int thirty = Three + 0;
wie kann ich die automatische Konvertierung von meiner benutzerdefinierten Klasse eines integrierten Typ bekommen?
Bemerkung: es ist in der Regel ein _bösen idea_ _both_ Konvertierungen _implicit_ (hier 'int'->' MyInt' über den nicht-expliziten Konstruktor haben _and_ 'MyInt'-> 'int' über einen Konvertierungsoperator). (Betrachten wir zum Beispiel 'std :: string', für das es eine implizite Umwandlung _von_' const char * '(Konvertierungskonstruktor) gibt, aber nicht _to_' const char * '(hierfür müssen Sie' .c_str() 'oder aufrufen Verwandte Member-Funktionen).) [Auch, typo: 'private' ->' private: '] –