Ich möchte Objekt in doppelten Wert konvertieren. Es sieht folgende -> ClassA clsA(1,2,3);
C++ operator = von Objekt zu Doppel
double result = clsA;
Ich schrieb etw wie das in meinem Header-Datei:
const double operator= (const ClassA&);
Und in CPP-Datei implementiert:
const double ClassA::operator= (const ClassA& a) {
/* here I made some math calculation on instance 'a' and the result is double value *\
return doubleValue;
}
aber es wird nicht Arbeit, ich weiß nicht, ob es eine gute Idee ist, es zu machen, auch ich benutze operator =, um ein Objekt einem anderen Beispiel zuzuweisen -> objA = objB, also weiß ich nicht, ob es streiten kann Äther mit der obigen Implementierung.
Vielen Dank für Ihre Hilfe!
'KlasseA :: operator = (const Klasse A &) wird verwendet, um einer "ClassA" eine (Konst-Referenz) "ClassA" zuzuordnen, der Rückgabetyp sollte "ClassA &" sein, z. 'KlasseA a, b; a = b; '. Was Sie wollen, ist ein Conversion-Operator zu verdoppeln, so etwas wie 'operator double() const;' in 'ClassA'. Siehe z.B. http://en.cppreference.com/w/cpp/language/cast_operator. – Holt
@Holt Kannst du hier in Kommentar mögliche Umsetzung schreiben? Ich weiß nicht, wie ich es anfangen soll? – lory
@Holt und wie man 'sagt', dass das Objekt nach '=' genommen werden soll und der Wert, der zurückgegeben wird, dem doppelten Wert zugewiesen wird = objA; ? – lory