Effective C++:类与函数的设计和申明

在看《Effective C++》这本书的过程中,我无数次的发出感叹,写得太好了,句句一针见血,直接说到点上。所以决定把这本书的内容加上自己的理解写成5篇博客,我觉得不管你是否理解这些条款,都值得你先记下来。下面的索引对应的是书中的章节。 18:努力让接口完美且最小化 19:区分member functions,non-member functions和friend functions三者 20:避免将data member放在公开接口中 21:尽量使用const 22:尽量使用 pass-by-refernece,少用pass-by-value 18:努力让接口完美且最小化 为了客户端的方便调用,接口中可能会定义很多方法,而其中可能右很多方法是多余或是重复的,这样会导致接口中方法太多,让用户迷失在一堆的方法中,而且大型接口不易维护,长长的class定义导致头文件很长,会增大编译的时间。但是也不必太过吝啬方法的个数,如果加入一个member function会是class更好用,会是增加一个member function能减少客户端的错误,那都是这些方法都是成为接口一份子的理由。 19:区分member functions,non-member functions和friend functions三者 member function可以是虚函数而non-member function不可以,如果一个函数必须是动态绑定的那么他就必须是虚函数,就必须是memberfunction,虚函数能实现动态绑定是因为子类可以根据自己的需要重写父类的虚方法实现动态绑定,而non-member function不可能被重写。Friend function是独立于class的,他只是可以访问class的私有成员,如果一个方法不需要访问一个class的私有成员,就不应该让这个方法称为这个类的friend function。  
class Rational
{


Link URL: http://blog.jobbole.com/24306/?utm_source=rss&utm_medium=rss&utm_campaign=effective-c%25ef%25bc%259a%25e7%25b1%25bb%25e4%25b8%258e%25e5%2587%25bd%25e6%2595%25b0%25e7%259a%2584%25e8%25ae%25be%25e8%25ae%25a1%25e5%2592%258c%25e7%2594%25b3%25e6%2598%258e

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27207730/viewspace-737980/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27207730/viewspace-737980/

你可能感兴趣的:(Effective C++:类与函数的设计和申明)