Я хочу создать класс класса friend класса B. Я хочу сделать это, поскольку они очень сильно взаимодействуют, и A необходимо изменить внутренние элементы класса B (которые я не хочу раскрывать с помощью публики). Но я хочу убедиться, что он имеет доступ только к нескольким выбранным функциям не ко всем функциям.
Пример:
class A
{
};
class B
{
private:
void setState();
void setFlags();
friend class A
};
Я хочу, чтобы A имел возможность доступа к setState, но не setFlags... Есть ли шаблон дизайна или хороший способ сделать это, или я оставил с предоставлением полного доступа или вообще никакого доступа в этом случае.
Спасибо