本篇博客主要对继承的对象模型以及虚拟继承进行一个整理和总结。
单继承
//单继承
class A
{
public:
int _a;
};
class B :public A
{
public:
int _b;
};
int main()
{
B b;
b._a = 1;
b._b = 2;
return 0;
}
在上面的代码中,类B公有继承了类A,通过监视窗口和内存,可以看到b对象的内存模型:首先是基类的成员_a,其次是子类B自己的成员_b; sizeof(b)=8.
class A
{
public:
int _a;
};
class B :public A
{
public:
int _b;
};
class C :public B
{
public:
int _c;
};
int main()
{
C c;
c.