effectiveC++(十九)(六)

2010-12-26 23:21:41 · 作者: · 浏览: 6394
是类的友元函数。

本条款得出的结论如下。假设f是想正确声明的函数,c是和它相关的类:

·虚函数必须是成员函数。如果f必须是虚函数,就让它成为c的成员函数。

·operator>>和operator<<决不能是成员函数。如果f是operator>>或operator<<,让f成为非成员函数。如果f还需要访问c的非公有成员,让f成为c的友元函数。

·只有非成员函数对最左边的参数进行类型转换。如果f需要对最左边的参数进行类型转换,让f成为非成员函数。如果f还需要访问c的非公有成员,让f成为c的友元函数。

·其它情况下都声明为成员函数。如果以上情况都不是,让f成为c的成员函数。