Przeciążenie operatora = w klasie

0

Po co przecieążać operator = w klasie jak jest konstruktor kopiujący ?

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1