У меня была идея для функции для С++, и мне было интересно, можно ли ее создать.
Скажем, я хочу, чтобы частная переменная в "MyClass" была доступна только с помощью двух функций: public getter и setter. То есть, если другая открытая или закрытая функция 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;
}
};
И тогда любой класс может наследовать его и получить доступ к "состоянию" только через getter/setter. Конечно, класс бесполезен без изменения геттера и сеттера в соответствии с вашей желаемой логикой.