什么是在c ++中重新定义静态变量?

时间:2017-06-29 16:13:19

标签: c++ static data-members

据说, 一旦定义了静态数据成员,用户就无法重新定义它。 它究竟意味着什么?因为我能够为它分配任何东西

#include<iostream.h>
class X
{
    public:
       static int i;
    X()
    {
        i = 2;    //no error in initializing it in constructor
    };
};

int X::i=1;

int main()
{
   X obj;
   cout << obj.i;   // prints 2, no prob. occur
   obj.i = 3;
   cout << obj.i;   // prints 3, same runs fine 
   X::i = 10;
   cout<<obj.i;     // prints 10, still no error
   return 0;
}

如果分配值并重新定义不同,那么重新定义静态变量甚至是普通变量的是什么?

提前致谢!

0 个答案:

没有答案