Konstruktor kopiujący to kostruktor, który przyjmuje referencję do swojego typu i tworzy identyczny obiekt, a operator = równierz przyjmuje referencję i zmienia istniejący obiekt na identyczny.
class A
{
public:
A() {}
A(const A& obj): b(obj.b) //przesyłasz przez stałą(!) referencję chyba że masz uzastadniony przypadek, że musi być przez niestałą. Tworzysz nowy obiekt
{}
A& operator=(const A& obj) //modyfikujesz istniejący obiekt
{
b = obj.b;
return *this;
}
private:
int b;
};
UWAGA:
A a;
a.b = 5;
A b = a; //Konstruktor kopiujący
A c(a)l // Konstruktor kopiujący
b=a; //operator przypisania