我有一个带有静态队列的基类:
class A : public otherClass{
protected:
static Queue queue[SIZE];
static int front, rear;
public:
void funcA();
void funcB();
};
现在有2个类继承了这个类:
class B: public A{
public:
void funcC();
}
class C: public A{
public:
void funcD();
}
我的问题是,当我实例化类 B 和 C 时,是否会有队列的 1 个实例并且 B 和 C 都指向它,或者 B 和 C 是否会有单独的实例?
最佳答案
队列是静态的——在整个程序中只有它的一个实例,无论您创建了多少个 A 的子类或实例。
就内存布局而言,静态成员与在任何类外部声明的全局变量没有什么不同(除了名称修改)。
关于c++ - 从 2 个继承类访问静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16395972/