Есть лифт (класс "Elevator "), в котором находится кнопка (класс "Button"). При нажатии на кнопку (функция "push") должен пойти сигнал в лифт (функция "decide"), где на основании имеющихся данных лифт примет решение ехать/не ехать, если всё же ехать то на сколько этажей. Для того чтобы кнопке обратится обратно в лифт, в котором она находится в класс "Button" был добавлен указатель на лифт. Этот указатель передаётся в конструктор класса "Button" через ключевое слово "this".
Но функция "decide" отмечена спецификатором "private" тк мы не желаем что бы кто угодно мог "дёргать" эту функцию и хотим спрятать подальше от посторонних глаз.
Но как в таком случае кнопке добраться до функции "decide"?
P.S. Кроме фрэндли функций/классов.
class Elevator
{
private:
Button* button;
void decide();
};
class Button
{
private:
Elevator* elevator;
public:
Button(Elevator &elevator);
void push();
};