cpp2html 0.1-alpha © 2002 Andrea Leofreddi. To get the source click here

// 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;
}