Вот код:
const class Test
{
public:
void x()
{
a++;
}
int a = 1;
};
void main()
{
Test obj = Test();
obj.a = 2; // можно менять член класса
obj.x(); // можно вызывать метод, меняющий член класса
cout << obj.a; // 3
}
Если бы я написал:
const Test obj = Test();
было бы понятно - нельзя вызывать неконстантные методы, нельзя менять данные.
Но что делает модификатор, когда он указан в объявлении класса? «const class Test»
На что это влияет?