Werte von Strukturen/Klassen zusammen Addieren
-
Ich habe eine Klasse gemacht, die Bruchrechnen kann, aber man kann nur umständlich d.h. per Funktions- Aufruf mit ihr Rechnen. Jetzt meine Frage kann man C++ eine Funktion Aufrufen lassen, wenn z. B.
TBruch a, b, c; c = a + b;ausgeführt wird um eine Addition auszuführen, so dass es einfacher ist damit zu rechnet. (Und auch bei den anderen Grundrechnen Arten) kann man das irgendwie Machen?

-
Ja.
-
Hall
die Funktion für die Klasse brauchst du schon, aber du kannst den Operator für +, und auch -, *, / überladen, um diese Notation zu benutzen. Hier findest du eine Einführung.
bis bald
akari
-
Ja sehr Gut, aber ein kleines Problem hab ich noch und zwar will ich das operator innerhalb der Klasse haben um Funktionen aufzurufen, die private oder protected sind
TBruch const operator*(TBruch const& a, TBruch const& b) { TBruch temp(a); //temp.Neativ = //.. Weitere Anweisungen return temp; }TBruch:: vorstellen Funktioniert nicht.
Wie bekomme ich das hin?
-
Hallo
die Operatoren in der Klasse als friend deklarieren.
bis bald
akari
-
Wo muss das friend denn hin?

-
Ich hab jetzt
friend TBruch const operator*(TBruch const& a, TBruch const& b);in der Klasse, aber ich muss die Funktion(en) noch mit einer Variable oder Zeiger Aufrufen. Ich möchte aber ich möchte die Funktion so aufrufen geht das auch?

-
was willst du?
wenn der operator ein member der klasse ist, ist der linke operand die instanz der klasse selber, und der 1 paramter der rechte operand!
als friend brauchst du 2 parameter, da es hier kein this als linken op. gibt!