Frage zum Kopierkonstruktor von C++

psgamer

Schraubenverwechsler(in)
Hi@all
Falls jemand mit c++ kentnissen mir hiermit weiterhelfen könnte wäre ich sehr dankbar.

Was wird denn bei nachfolgendem Code an den Kopierkonstruktor übergeben? Eine Referenz vom Objekt, das kopiert wird? Warum steht denn das "&" nicht direkt ohne leerzeichen vor dem "k"? Meines Wissens nach muss das & immer direkt hinter der Variable/dem Objekt stehn damit es als Referenz interpretiert wird. Was ist hier anders? In meinem C++ Buch wird nirgends weiter darauf eingegangen... :huh:

class klasse
{
klasse(klasse& k) //Kopierkonstruktor
{...Daten sichern etc...}
}
 
Es ist egal, ob du Klasse& k, Klasse & k oder Klasse &k schreibst. Es wird jeweils eine Referenz erwartet. Es ist also nur wichtig, dass das &-Zeichen zwischen Typ und Name der Variablen steht.
 
Wo Du das Zeichen, egal ob Pointer oder Referenz setzt ist schlicht Programmierstil damit man die Dinge nicht verwechselt.
Vielleicht hilft Dir folgendes

klasse& k --> für die Referenz eines Objekts vom Typ Klasse
&k --> um die Adresse des Objekts k zu ermitteln

Das gleiche entsprechend bei Pointern. So kannst Du bei späterem lesen des Codes nichts verwechseln, wenn Du das so beibehältst.
 
Zurück