【发布时间】:2016-10-18 02:14:49
【问题描述】:
我有以下示例代码:
class A {
public:
static int a;
};
int A::a = 0;
class B {
public:
static A a1;
};
A B::a1;
class C {
public:
static A a1;
};
A C::a1;
int main(int argc, const char * argv[]) {
C::a1.a++;
B::a1.a++;
std::cout << B::a1.a << " " << C::a1.a << std::endl;
return 0;
}
B 类和 C 类将 A 类作为静态成员变量。
我预计程序会打印“1 1”,但它会打印“2 2”。
如果多个类有一个共同的静态变量,它们是否共享(在同一范围内?)
【问题讨论】:
-
添加对象
B b1,b2和C c1,c2, c3可能会让人大开眼界。
标签: c++ static static-members