klasa przyjaciół z ograniczonym dostępem
Chcę stworzyć klasę przyjaciół klasy A klasy B. Chcę to zrobić, ponieważ one bardzo się wzajemnie oddziałują, a A musi zmieniać wewnętrzne klasy B (których nie chcę ujawniać za pomocą publiczności). Ale chcę mieć pewność, że ma dostęp tylko do kilku wybranych funkcji, a nie do wszystkich funkcji.
Przykład:
class A
{
};
class B
{
private:
void setState();
void setFlags();
friend class A
};
Chcę, aby A był w stanie uzyskać dostęp do setState, ale nie do setFlags ... Czy istnieje wzorzec projektowy lub fajny sposób na zrobienie tego, czy też pozostawiam w tym przypadku pełny dostęp lub brak dostępu.
Dzięki