现在的位置: 首页 > 综合 > 正文

Effective c++ 条款19: 分清成员函数,非成员函数和友元函数

2012年11月03日 ⁄ 综合 ⁄ 共 278字 ⁄ 字号 评论关闭

本条款得出如下结论:

假设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的成员函数。

抱歉!评论已关闭.