to zhouhuahai, junguo
我和你们两位理解的都差不多,但是基base class subobject(类子对象)是被继承下来的一个整体还是被继承下来的一个数据都可以叫base class subobject。
也就是B继承于A,B里有从A继承下来的东西。但是从A里会继承下来很多东西,我的意思是是继承下来这些东西的整个叫base class subobject呢还是继承下来每个数据成员都可以叫base class subobject,再次谢谢大家。
何为基类子对象:
class A
{
public:
virtual int fun(int) {....};
};
class B: public A
{
public:
int fun1(int) {....};
private:
int b;
};
如果按inside the c++ object model里的说法.
类B的内存结构中会有vptr(继承自A)指向一个虚函数表.而类B的一个实例对象中继承自基类A的部分就是类B的基类子对象了.