У меня есть класс cla
и элемент данных x
. Я могу использовать cla.x
для доступа к его значению и cla.x=8
для изменения его значения.
Однако я хочу, чтобы cla.x
был доступен только и не мог быть назначен. В то же время, я хочу, чтобы x
можно было изменить методом класса. Тогда как это сделать?
Если я установлю x
на const
. Это не может быть назначено внешне. Однако я не могу изменить это в классе.
Пример кода:
class A{
public:
int x=9;
const int y;
}
A cla=A();
cout<<cla.x<<endl; //I can access it.
cla.x=7; //I can modified it.
cout<<cla.y<<endl; //I can access a const int.
cla.y=8; //Error.
Если я установлю x
как закрытый член, я могу изменить его, используя метод класса, и позволить методу класса вернуть его значение. Но я не могу использовать cla.x
для доступа к нему.