在继承的情况下,每个类的静态数据名称是唯一的吗?

时间:2012-02-28 14:06:04

标签: c++ inheritance static

我知道有一个相关问题:Static variables in static method in base class and inheritance

但我想知道数据库是否相同?

假设我有一个班级:

class A
{
protected:
   static int NUMBER;
private:
   static int OTHERNUMBER;
};

class B : public A
{
};

B会有另一个实例而不是NUM的A吗?

B会有另一个实例而不是OTHERNUMBER吗?

2 个答案:

答案 0 :(得分:4)

  

B会有另一个实例而不是NUM的A吗? B会有另一个实例而不是OTHERNUMBER吗?

不,不。在任何类范围内声明静态变量只声明一个变量,并且不会在任何其他范围内出现额外的副本。

答案 1 :(得分:1)

否。不会自动创建单独的B::NUMBERB::OTHERNUMBER