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

本条款得出如下结论:

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

posted @ 2010-11-18 11:44  木子你妹  阅读(270)  评论(0编辑  收藏  举报