编辑:将它们声明为私有(private)是一个打字错误,我修正了它:
关于另一个问题,如果我在一个类中声明了一个静态变量,然后从中派生了一个类,是否有任何方法可以将每个类的静态变量声明为单独的。即:
class A:
{
public:
static int x;
};
class B:A
{
public:
const static int x;
};
是否定义了两个不同的静态变量 x
,一个用于 A,一个用于 B,或者我是否会在重新定义 x
时遇到错误,如果我得到一个错误,如何创建两个单独的静态变量?
最佳答案
当您使用静态变量时,显式引用它们可能是个好主意:
public class B:A
{
public const static int x;
public int foo()
{
return B::x;
}
}
这样,即使在层次结构中“高于”您的类决定创建一个名称相似的成员,它也不会破坏您的代码。同样,在访问普通成员字段时,我通常会尝试使用 this
关键字。
已更新以使用 C++ 语法。
关于c++ - 如何声明两个不同的静态变量? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/998311/