资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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://cdkjz.cn/article/igepoj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220