Страницы

Поиск по вопросам

пятница, 12 апреля 2019 г.

Возможно ли в C++ одноразовая инициализация переменных?

Есть класс с public статическими переменными. Эти переменные нужно инициализировать 1 раз. Затем должна быть возможность читать их, но не изменять. Как можно организовать запрет изменения переменных?
Сделать синглтон (придумать одноразовую какую-нибудь инициализацию..) + запретить удаление, + переменные сделать private + на каждую переменную get-метод. Этот способ имеет право на существование, но а можно чтобы поля все же были public и чтобы нельзя было менять их?


Ответ

Объявить переменные константами, инициализировать в конструкторе. Весьма тривиально.
class sample { public: const int var; sample(int value=9000):var(value) {} }

Комментариев нет:

Отправить комментарий