Hi,
ich habe in der FH vor kurzem mit OOP in C++ angefangen und habe da nun eine kleine Verständnisfrage. Angenommen wir haben eine Klasse "Bruch" und in der Implementierungsdatei eine Funktion namens "Addiere" ebenfalls vom Typ Bruch.
Nun folgende 2 Versionen, um die Funktion zu deklariern.
1. Bruch Bruch::Addiere (Bruch a) {return...}
2. Bruch Bruch::Addiere (Const Bruch &a) {return...}
Aufgerufen wird die Funktion dann aus dem Hauptprogramm mit z.B.
Bruch1.Addiere(Bruch2)
Mich würde jetzt einfach interessieren wo bei diesen 2 Versionen ein Unterschied besteht bei der Übergabe und welcher???
Also im Prinzip der Unterschied zwischen "(Bruch a)" und (Const Bruch &a) beim Funktionsaufruf und der Parameterübergabe!?!?
Würde mich echt glücklich machen, wenn mich da jemand aufklären könnte
ich habe in der FH vor kurzem mit OOP in C++ angefangen und habe da nun eine kleine Verständnisfrage. Angenommen wir haben eine Klasse "Bruch" und in der Implementierungsdatei eine Funktion namens "Addiere" ebenfalls vom Typ Bruch.
Nun folgende 2 Versionen, um die Funktion zu deklariern.
1. Bruch Bruch::Addiere (Bruch a) {return...}
2. Bruch Bruch::Addiere (Const Bruch &a) {return...}
Aufgerufen wird die Funktion dann aus dem Hauptprogramm mit z.B.
Bruch1.Addiere(Bruch2)
Mich würde jetzt einfach interessieren wo bei diesen 2 Versionen ein Unterschied besteht bei der Übergabe und welcher???
Also im Prinzip der Unterschied zwischen "(Bruch a)" und (Const Bruch &a) beim Funktionsaufruf und der Parameterübergabe!?!?
Würde mich echt glücklich machen, wenn mich da jemand aufklären könnte