1. Po co Ci zaprzyjaźniać ten operator?
2. Operator przypisania przyjmuje tylko jeden argument, no bo jak dwa?
Klasa a(5);
Klasa b(6);
a = b;
W tym momencie zostanie wywołany operator przypisania na obiekcie a.
W funkcji przeciążającej do obiektu a odwoływalibyśmy się poprzez this, a do obiektu b poprzez argument.
3.
return Klasa(obiek1.wartosc = obiek2.wartosc);
Co ma robić ta linijka?
Jeżeli chcesz przypisać wartości z obiek1 do obiek2. To w tym wypadku w funkcji przeciążającej robisz coś typu:
Klasa & Klasa::operator =( Klasa &obiek )
{
this.wartosc = obiek.wartosc;
return *this;
}