No!

To prove it.

Create an instance of Derived and then assign that one instance to two pointers, one of type Base1 and another of type Base2. Look at the results in a debugger.

You will instantly see two different addresses, but they are clearly point to the same instances.