您的位置:首页 > 编程语言 > C语言/C++

Effective C++ Third Edition 读书笔记 37

2010-06-26 17:16 197 查看
Item 37: Never redefine a function's inherited default parameter value

好久没写读书笔记了,今天先跳到37条吧,这条印象比较深,在C++ Primer、C++编程思想、C++ Programming Language这三本书里居然一时没找到答案,也需是英文版的缘故吧,以后买书没有特殊情况再不能买英文的了,太痛苦了。

言归正传,这条的主要思想是,如果在重载虚函数的时候使用了默认的参数,当使用多态的时候,函数体是动态绑定的,而这个输入参数是静态绑定的,也就是默认参数和基类指针的类型绑定的,所以子类里面定义的默认参数往往是不起作用的。

具体原因是C++实现时的效率和复杂度,貌似《深度探索C++对象模型》里面应该讲了,不过面试的时候还是不要扯这么多,免得曲高和寡,搞得面试官下不来台。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: