struct A{
virtual void what() { cout << "Base" << endl; };
};
struct B : A {
virtual void what() { cout << "Sub" << endl; };
int m;
B() : m(10) {};
B(const A & x) : m(50) {};
};
void main() {
B b1;
B b2 = b1;
cout << "Number: "
<< b2.m << endl;
};
¿Por qué no es b2.m = 50? Estoy intentando copiar un objeto b y tengo el constructor de copia B (const A & x): m (50). ¿Necesito hacer un copy c'tor para el asno de clase derivado? Al igual que B (const B & x) ?? Pensé que dado que un objeto b tiene una parte, podríamos usar B (const A & x): m (50) en lugar del constructor predeterminado:: SCopiar herencia del constructor
En el caso de que tenga una función con el parámetro de un objeto A, puede enviar un objeto B. ¿Cómo puede ser diferente con el constructor de copia?