Po co przecieążać operator = w klasie jak jest konstruktor kopiujący ?
0
2
Bo konstruktor działa tylko w trakcie tworzenia obiektu. Tzn jeśli robisz
Klasa obiekt = innyObiekt;
Jeśli zrobisz
Klasa obiekt;
obiekt = innyObiekt;
To działa operator=
2
Foo foo; // konstruktor Foo()
Foo bar; // konstruktor Foo()
Foo ala = foo; // konstruktor kopiujący Foo(const Foo&)
bar = ala; // operator=(const Foo&)
konstruktor konstruuje nowy obiekt. operator jest wywoływany dla istniejącego już obiektu.