2010-09-18 29 views
10

¿Es seguro hacer lo siguiente o se trata de un comportamiento indefinido:Asignar clase derivada de la clase base

class Base 
{ 
private: 
    int a; 
}; 

class Derived : public Base 
{ 
private: 
    int b; 
}; 

Base x; 
Derived y; 
x = y; // safe? 

¿Los bits adicionales en las clases derivadas acaba de obtener cortó?

Respuesta

9

Tienes razón, el objeto está en rodajas. Este es un problema common. ¡No deberías hacerlo!

Cuestiones relacionadas