Hey, ich bin nun bei dem Kopierkonstruktor angelangt. Daraufhin habe ich mir das Listing zurecht gecodet um zu sehen was passiert.
Ich bin etwas verwirrt. Ich dachte, dass man vor eine Referenz kein * braucht um den Wert auszugeben, jedoch ist das hierbei anders:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
CRaumschiff::CRaumschiff (const CRaumschiff &rhs)
{
cout << "Kopierkonstruktor wurde aufgerufen.";
cout << endl << endl;
// Tiefe Kopie
m_pGeschwindigkeit = new int;
*m_pGeschwindigkeit = 2000;
cout << *m_pGeschwindigkeit << endl;
cout << *rhs.m_pGeschwindigkeit << endl << endl;
cout << &rhs.m_pGeschwindigkeit << endl;
cout << &m_pGeschwindigkeit << endl << endl;
cout << rhs.m_pGeschwindigkeit << endl;
cout << m_pGeschwindigkeit << endl << endl;
*m_pGeschwindigkeit = *rhs.m_pGeschwindigkeit;
cout << *m_pGeschwindigkeit << endl << endl;
} // Kopierkonstruktor
|
In der 3. letzten Zeile wird vor die Referenz ein Sternchen gesetzt, wieso?
Hat es etwas damit zu tun, dass der Wert einem Zeiger zugeschrieben wird?
Danke für eure Antworten!