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