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;
};
Perché non è b2.m = 50? Sto cercando di copiare un oggetto b e ho il costruttore di copia B (const A & x): m (50). Ho bisogno di creare una copia per il culo della classe derivata? Mi piace B (const B & x) ?? Ho pensato che poiché un oggetto b ha una parte, potremmo usare B (const A & x): m (50) invece del costruttore predefinito:: SEreditarietà copia-costruttore
Nel caso in cui si abbia una funzione con il parametro di un oggetto A, è possibile inviare un oggetto B. Come mai si differenzia con il costruttore di copie?