+ -
当前位置:首页 → 问答吧 → 一个关于父类中定义vector在子类中使用的问题。

一个关于父类中定义vector在子类中使用的问题。

时间:2011-12-18

来源:互联网

我在父类(假定为A类)中定义了一个vector。
typedef std::vector<void*> VArray, FAR *LPVArray;
...
private:
VArray FMemTbl; //内存表

在父类的构造函数中对此动态数组进行初始化
A::A(const int iMaxPageSize)
{
  ...
  vector<void*> FMemTbl(iMaxPageSize, NULL);
}

我又定义了一个B类,继承自A类。
B类的构造函数是这样定义的:

class B: public A
{
public:
B(const int iMaxPageSize = 1024):A(iMaxPageSize){}
...
};

现在我定义了一个B类的对象
B* pB = new B(1024);

但是我发现在pB的动态数组FMemTbl的size为0。

我单步跟踪后发现在A类中FMemTbl的size的确为1024。
请问这是为什么呢??








作者: zgc7622   发布时间: 2011-12-18

把vector定义为protected,private只有基类中才有,派生类中不会继承基类的私有成员变量

作者: yjz1409276   发布时间: 2011-12-18

一样的,问题依旧。

作者: zgc7622   发布时间: 2011-12-18

热门下载

更多