// 7.4: superclassi virtuali
#include <iostream>
using namespace std;
class A { // Superclasse
private:
char non_usato[1024];
};
// Derivazione a diamante senza virtual
class B1 : public A {
};
class C1 : public A {
};
class D1 : public B1, public C1 {
};
// Derivazione a diamante con superclasse virtuale
class B2 : public virtual A {
};
class C2 : public virtual A {
};
class D2 : public B2, public C2 {
};
int main() {
cout << "Dimensione in byte di D1: " << sizeof(D1) << endl;
cout << "Dimensione in byte di D2: " << sizeof(D2) << endl;
}