Друг и поиск в C++
Функция-друг, объявленная внутри класса, получает доступ к его членам и участвует в поиске имен вместе с типом, для которого она объявлена.
Тело друга можно задать прямо в определении
структуры. Тогда вызов с объектом этого типа
находит имя без записи operator
и без префикса пространства имен.
Опишем структуру с полем и другом, который
печатает значение, и обратимся к нему
из main:
#include <iostream>
struct Meter {
int units;
friend void show(Meter item) {
std::cout << item.units << "\n";
}
};
int main() {
Meter gauge{15};
show(gauge);
return 0;
}
Объявите struct Pair с полями
int a и int b. Задайте
друга sum, возвращающего сумму
полей. Выведите результат для объекта
с числами 3 и 9.
В struct Box объявите друга
tag, печатающего символ из поля.
Создайте Box с 'K' и
вызовите tag без квалификатора.