Просто пытаюсь убедиться, что я правильно понял друзей с этим
class A
{
friend class B;
int valueOne;
int valueTwo;
public:
int GetValueOne(){ return valueOne; }
}
class B
{
public:
A friendlyData;
int GetValueTwo(){ return friendlyData.valueTwo; }
}
main()
{
B myObject;
myObject.friendlyData.GetValueOne(); // OK?
myObject.GetValueTwo(); // OK?
}
В отношении этого кода, если мы проигнорируем отсутствие инициализации, две функции в main будут в порядке, верно? И кроме того, что нужно делать что-то напуганное, у них не должно быть другого способа получить данные из этих классов ... Внешняя сторона этих классов B.A
не имеет доступных данных, только функция-член.