typcast von float nach complex per operator overloading
-
class Complex{
float real,im;
public:};
int main(){
float a=5.5;
Complex c=(typecast)a
}
Hallo ich will dies haben.
Geht das irgendwie per operator overloading.
Bitte ist ganz wichtig ich brauch das für eine Klausur.
Ich will es nicht mit einem Konstruktor haben.Danke
Tim
-
operator=(float f)
dann brauchst du noch nicht mal den cast.
-
Die Frage in der klausur war:
Stellen sie sich vor sie haben eine Klasse mit Komplexen Zahlen.
Mit was würden sie einen float in eine Komplexe Zahl umwandeln.
Die richtige Antwort wäre Konstruktor.
Ich habe aber Operator overloading geschrieben.
Das erkennt der Prof nicht an.
Natürlich ist es klar das es mit einem Konstruktor geht.
Die = Lösung wurde nicht akzeptiert.
Aber inen Typecasz müsste er respektieren.
Tim
-
Damit dass mit einem Konvertierungsoperator gehen würde, müsstest du dem Typ float eine Memberfunktion operator Complex() const; zufügen. Das geht selbstverständlich nicht, also bleibt nur die Lösung über den Konstruktor.
-
jad asit klar
dachte nur da ist vielleicht ein emöglichkeit die ich nicht weiß