Both methods are similar. A copy constructor is a construtor that takes a reference to a class of the same type and simply copies the data from the argument to the local class. Most compilers will do a memberwise copy by default, but this is bad if you use anything but the basic types (int, char...)
An assignment operator does the same thing, only its done on a class that has already been constructed.
Code:
class myClass {
public:
int data;
myClass() : data(0) {}
myClass(myClass ©) {data = copy.data;}
myClass& operator=(myClass &rhs) {data = rhs.data; return *this;}
};
Its a simple example, but I hope it helps.
PK