You are not logged in.

  • Login

1

Monday, January 16th 2012, 3:08pm

Zuweisungs Operator vs Kopierkonstruktor

Hallo C++ Freunde!

ich hätte da mal eine Frage zum Zuweisungsoperator in c++

also angenommen ich habe folgendes

C/C++ Quellcode

1
2
3
4
5
6
7
8
9
klasse bla; // die Klasse bla implementierung ist hier nicht angeben bzw nicht wichtig
 
// es werden zwei Objekte der Klasse bla erstellt
bla b1;
bla b2; 
 
// b1 wird nun initialisiert mit was ist un wichtig
 
b2 = b1;


So nun hätte ich gesagt hier wird der Kopier Konstruktor aufgerufen da ein Objekt mit einem andern initalisiert wird dem ist aber nicht so es wird der Zuweisungsoperator aufgerufen falls ein eigener geschrieben legt dieser wiederum eine Kopie von b1 an
man arbeitet also auf zwei instanzen ... fals der Standart Zuweisungsoperator aufgerufen wird arbeitet man aber auf dem gleichen Objekt wie in Java richtig ? (laut lösung ist dies so )


Die frage ist nun einfach warum wird hier nicht der Kopierkonstruktor aufgerufen bzw wie müsste es aussehn das dieser aufgerufen wird ? Warum wird der Zuweisungsoperator aufgerufen bzw was tut dieser bzw wann ist es sinnvoll einen eigenen zu schreiben?

Wäre cool wenn auch jemand ein gutes beispiel dazu hat leider habe ich noch nichts gefunden

Vielen dank im Vorraus

2

Monday, January 16th 2012, 4:26pm

C/C++ Quellcode

1
2
3
4
Bla b1; //Default ctor
Bla b2("tit for tat"); //überladener ctor
Bla b3(b1); //copy-ctor
b3 = b2; //Zuweisungsoperator

Similar threads

Social bookmarks