Zazwyczaj w C ++ szybkość tworzenia gier jest ceniona nad enkapsulacją, dlatego widzimy masę publicznie dostępnych członków klasy, którzy tak naprawdę nie powinni być publiczni.
Wydaje mi się, że w większości przypadków tylko kilka bardzo wybranych klauzul naprawdę musi znać wewnętrzne działanie innych klas do tego stopnia, że modyfikuje lub odczytuje ich prywatne dane.
Tworzenie publicznych programów pobierających / ustawiających dla tych prywatnych danych ujawnia rzeczy, których tak naprawdę nie należy modyfikować bezmyślnie.
Czy kompromisem byłoby tutaj wykorzystanie klas przyjaciół? czy jest jakaś wada w stosunku do klas znajomych, których nie widzę.