Как разрешить модифицировать открытый элемент данных класса только методами класса? - PullRequest
0 голосов
/ 05 мая 2019

У меня есть класс 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 для доступа к нему.

1 Ответ

0 голосов
/ 05 мая 2019

Похоже, я не могу этого сделать.

Я знаю, что могу использовать публичный метод для возврата частного значения. Но мне просто не нравится скобка cla.get_x().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...