Обсуждение
Я знаю, что main может быть другом class:
#include <iostream>
class foo {
friend int main();
int i = 4;
};
int main() {
foo obj;
std::cout << obj.i << std::endl;
}
Однако я чувствую, что, хотя это вполне допустимо, он скрывает множество опасностей.
Вопросы
- Есть ли какое-нибудь ценное использование при создании
mainдруга класса? - Есть ли причины, по которым объявление
mainкак друга класса должно считаться вредным?