Есть класс с public статическими переменными. Эти переменные нужно инициализировать 1 раз. Затем должна быть возможность читать их, но не изменять. Как можно организовать запрет изменения переменных?
Сделать синглтон (придумать одноразовую какую-нибудь инициализацию..) + запретить удаление, + переменные сделать private + на каждую переменную get-метод. Этот способ имеет право на существование, но а можно чтобы поля все же были public и чтобы нельзя было менять их?
Ответ
Объявить переменные константами, инициализировать в конструкторе. Весьма тривиально.
class sample
{
public:
const int var;
sample(int value=9000):var(value) {}
}
Комментариев нет:
Отправить комментарий