关闭

C++学习心得--完结

标签: c++编译器编程
3158人阅读 评论(0) 收藏 举报
分类:

1.我们在考虑到继承时设计一个类应该注意的几个基本的问题:基类中的成员函数应该是虚函数;基类中的私有成员应该被声明为保护型成员,因为派生类有时也可能需要访问基类中的私有成员;多重继承时基类应该被声明为虚基类,否则有可能派生类保存有几份基类的数据。

2.将一个基类改为虚基类时,它会要求所有继承自它的派生类在构造函数中明确的初始化它。(参考《C++编程惯用法——高级程序员常用方法和技巧》Robert B.Murray著)

3.将一个函数声明为虚拟的会带来一些开销,当函数调用时,对象必须去检测到底是哪个版本的函数被调用。将函数声明为虚函数同时也会因为该函数不能内嵌而导致一定的开销。对于小函数,这两方面的考虑都很重要,此时调用函数的时间和它的执行时间相比比较可观,对于大函数来说,所有函数调用的开销的改动相对函数的执行时间来说根本就是微不足道。因此,对于中等和大规模的函数应该将它们改为虚函数。

4.我们在设计被其它类继承的类时,应该在类中将析构函数声明为虚的。

5.复制构造函数中的参数在函数体中被忽略,因此可以在构造函数的定义中忽略掉它的名字。这样做在C++中是合法的,并且也是被提倡的做法,它可以明确告诉大家该参数在函数体中将会被忽略,还可以用来抑止编译器产生“...没有被使用”这样的警告信息。

6.当参数是按值传递的时候,是不可以通过添加const实现重载的;但是当为引用传递的时候是可以通过const实现重载的。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:60112次
    • 积分:939
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:1篇
    • 译文:0篇
    • 评论:38条
    文章分类
    最新评论