C++为什么不要为虚函数和它的覆盖函数设定不同的默认参数

这篇文章主要讲解了“C++为什么不要为虚函数和它的覆盖函数设定不同的默认参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++为什么不要为虚函数和它的覆盖函数设定不同的默认参数”吧!

创新互联公司-专业网站定制、快速模板网站建设、高性价比达坂城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式达坂城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖达坂城地区。费用合理售后完善,10多年实体公司更值得信赖。

C.140:不要为虚函数和它的覆盖函数设定不同的默认参数

Reason(原因)

这可能会引起混乱:覆盖函数不会继承默认参数。

Example, bad(反面示例)
class Base {public:    virtual int multiply(int value, int factor = 2) = 0;    virtual ~Base() = default;};
class Derived : public Base {public:    int multiply(int value, int factor = 10) override;};
Derived d;Base& b = d;
b.multiply(10);  // these two calls will call the same function butd.multiply(10);  // with different arguments and so different results

Enforcement(实施建议)

如果基类和派生的虚函数和覆盖函数的默认参数不同,进行提示。

感谢各位的阅读,以上就是“C++为什么不要为虚函数和它的覆盖函数设定不同的默认参数”的内容了,经过本文的学习后,相信大家对C++为什么不要为虚函数和它的覆盖函数设定不同的默认参数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前标题:C++为什么不要为虚函数和它的覆盖函数设定不同的默认参数
网址分享:http://bzwzjz.com/article/igepoj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都企业网站设计 手机网站制作 成都网站建设公司 成都定制网站建设 成都商城网站建设 成都网站建设公司 攀枝花网站设计 网站设计公司 网站建设 商城网站建设 成都网站建设推广 教育网站设计方案 成都网站建设 成都营销网站建设 成都定制网站建设 app网站建设 网站建设 成都响应式网站建设 成都网站制作 响应式网站设计 网站制作 手机网站建设