Hallo,
folgender Code:
So die Aufgabe ist einmal, den zweiten Konstruktor Punkt(Punkt &p) zu erstellen, damit da eine Kopie entsteht. Das mit dem "&". Warum muss hier die Adresse von dem Punkt p übergeben werden und kann nicht einfach nur Punkt p stehen?
der komplette Konstruktor sieht ja dann so aus:
So nun zum Verschiebungsoperator:
vom Proff hab ich folgende Lösung bekommen:
also ich kapier das leider überhaubt nicht
warum das "&" hier und das +- nach operator, dass kann doch garnicht funktionieren?
Euch wenn es für euch wahrscheine voll die **** frage ist, danke ich euch für eure hilfe.
folgender Code:
Code:
class Punkt {
double m_x; // X-Koordinate
double m_y; // Y-Koordinate
public:
// Standardkonstruktor
Punkt(double x=1.0, double y=0.0){m_x=x; m_y=y;}
// Erzeuge neuen Punkt als Kopie eines anderen
Punkt(Punkt &p) { }
~Punkt();
// Verschiebeoperator
...
};
So die Aufgabe ist einmal, den zweiten Konstruktor Punkt(Punkt &p) zu erstellen, damit da eine Kopie entsteht. Das mit dem "&". Warum muss hier die Adresse von dem Punkt p übergeben werden und kann nicht einfach nur Punkt p stehen?
der komplette Konstruktor sieht ja dann so aus:
Code:
Punkt(Punkt &p)
{
m_x= p.m_x;
m_y= p.m_y; }
So nun zum Verschiebungsoperator:
vom Proff hab ich folgende Lösung bekommen:
Code:
Punkt& operator +=(double v)
{
m_x += v;
m_y += v;
return *this;
}
also ich kapier das leider überhaubt nicht
warum das "&" hier und das +- nach operator, dass kann doch garnicht funktionieren?
Euch wenn es für euch wahrscheine voll die **** frage ist, danke ich euch für eure hilfe.