我在问这个问题进行讨论。具有继承性的静态变量的行为
假设我有流动类层次
class A
{
public:
static int varr;
}
class B : public A
{
}
Class C : public A
{
}
如果创建的B b1,b2,b3;
和C c1,c2,c3;
和A a1, a2;
1.will varr
对象跨越上述否则会有单独的实例中提到的所有的对象共享针对不同的对象?
2.如果b1
对象更改它的值将反映为c1
对象或不。
所以,如果我的情况不同改变一个对象的varr,如b1,然后当我访问c1中的varr它是否会获得更新的值 – 2011-04-28 10:44:52
只有一个静态对象的实例将被创建,并且在该对象将被引用的所有位置。所以如果你在一个地方改变,这意味着改变将会反映在它被引用的所有位置。 – vrajs5 2011-04-28 10:50:30
+1为您的确切答案。 – karthik 2011-04-28 11:11:17