Calls myclass's copy constructor. Since a constructor can't be called on an object after it's already been constructed -- the only time you can do this is when you create the object.
Instead, B = A; calls the assignment operator which can be called any time after an object has been constructed.
The only tricky part is this:
myclass B = A;
This actually calls the copy ctor on B and not the assignment operator (even though it's using the assignment operator!).