c++ - 在继承的情况下,每个类的静态数据成员是否唯一?

标签 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 会不会有 NUMBER 以外的另一个实例?

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

最佳答案

Will B have another instance than A of NUMBER? Will B have another instance than A of OTHERNUMBER?

没有,也没有。在任何类作用域中声明一个静态变量只会声明一个变量,它的额外拷贝不会出现在任何其他作用域中。

关于c++ - 在继承的情况下,每个类的静态数据成员是否唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483376/

相关文章:

java - 使用泛型实现接口(interface),两种方法具有相同的删除功能

arrays - 是否可以在不重复长度的情况下声明指定类型的静态数组?

c - 如何在c中动态分配静态存储?

java - Java 中的静态变量启动器

java - 哪种设计模式用于创建继承对象?

c++ - 是否有任何控制循环展开的预处理器指令?

c++ - 为什么 delete 不将指针设置为 NULL?

c++ - 运算符重载问题

python - 为什么 str(super(B, b)) 不等于 super(B, b).__str__()?

c++ - 如何在 C++ 中的 do-while 循环中使用非此即彼的条件