This invokes the base class's assignment operator.
With this, you tell the compiler "hey, I know that 'this' is a pointer
to Derived, but that's not really true. Actually it's a Base, so treat
the pointer as if it were a Base.". It's equivalent to:
*reinterpret_cast<Base*>(this) = inDerived;//works fine
Don't expect that to work generally.
No. The C style cast is equivalent to any combination of static_cast,
const_cast and reinterpret_cast that would be needed for the specific