Говорят, что после создания определения для статического члена данных пользователь не может его переопределить. что это точно означает? Поскольку я могу назначить ему что угодно
#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;
}
если присвоение значения и переопределение различаются, то что такое переопределение статической или даже обычной переменной?
Заранее спасибо!
static
иconst
являются синонимами. Когда он сказал «переопределить», я думаю, он имел в виду «назначить». - person Carey Gregory   schedule 29.06.2017