У меня была идея для функции для C ++, и мне было интересно, можно ли ее создать.
Допустим, я хочу, чтобы личная переменная в 'MyClass' была доступна только двум функциям,общественный геттер и сеттер.То есть, если другая открытая или закрытая функция MyClass попытается получить или изменить значение моей суперприватной переменной, я получу ошибку компиляции.Однако геттер и сеттер ведут себя нормально.
Есть идеи?
Редактировать 1: Вариант использования: геттер / установщик выполняет проверку ошибок или другую форму логики.Я бы не хотел, чтобы даже сам класс непосредственно касался переменной.
Редактировать 2: Что-то вроде этого тогда:
template <class T>
class State{
private:
T state;
public:
State()
{
state = 0;
}
T getState()
{
return state;
}
void setState(T state)
{
this->state = state;
}
};
И тогда любой класс может наследовать его и получать доступ только к «состоянию»через геттер / сеттер.Конечно, класс бесполезен без изменения метода получения и установки в соответствии с желаемой логикой.