#include <iostream>
using namespace std;
class A
{
private:
int a;
public:
A()
{
cout << "A" <<endl;
}
};
class B : public A
{
private :
int b;
public:
B()
{
cout << "B" <<endl;
}
};
class C
{
private:
int c;
public:
C()
{
cout << "C" <<endl;
}
};
class D : public C , public B
{
private:
int d;
public:
D()
{
cout << "D" <<endl;
}
};
void main()
{
D d;
}
C
A
B
D
sizeof(D)=16
下面搞成菱形继承 看看效果
A
C
A
B
D
20
请按任意键继续. . .
#include <iostream> using namespace std; class A { private: int a; public: A() { cout << "A" <<endl; } }; class B : public A { private : int b; public: B() { cout << "B" <<endl; } }; class C:public A { private: int c; public: C() { cout << "C" <<endl; } }; class D : public C , public B { private: int d; public: D() { cout << "D" <<endl; } }; void main() { D d; cout << sizeof(D) <<endl; }