Q:

How will this code work?

Suppose we are creating two objects of class Base:
Base *b1 = new Base();
Base *b2 = new Base();

after that I did like:
*b1 = *b2;

then, what will happen?
As per my understanding:
assignment operator will be used in that case - default one generated by compiler or provided by "Base" class designer. Constructor is supposed to "construct" object and in presented scenario both objects - pointed by b1 and b2 - are already created.

A:

The Base object referred by p2 will be copyed into the one referred by p1, unless another implmenmetation for Base::operator= is given.

