本条款得出如下结论:
假设f是想正确声明的函数,C是和它相关的类:
1.虚函数必须是成员函数。如果f必须是虚函数,就让它成为C的成员函数。
2.operator>>和operator<<决不能是成员函数。如果f是operator>>或operator<<,让f成为非成员函数。如果f还需要访问C的非公有成员,让f成为C的友元函数。
3.只有非成员函数对最左边的参数进行类型转换。如果f需要对最左边的参数进行类型转换,让f成为非成员函数。如果f还需要访问C的非公有成员,让f成为C的友元函数。
4.其它情况下都声明为成员函数。如果以上情况都不是,让f成为C的成员函数。