Effective C++条款37:绝不重新定义继承而来的缺省参数值
摘要:
要点:绝对不要重新定义一个继承而来的缺省参数,因为缺省参数都是静态绑定,而virtual函数――你唯一应该覆写的东西――却是动态绑定。virtual函数是动态绑定的,而缺省参数却是静态绑定,对象的所谓静态类型,是它在程序中被声明时所采用的类型。class Shape { public: enum ShapeColor {Red, Green, Blue}; virtual void draw(ShapeColor color = Red) const = 0; }; class Rectangle : public Shape { public: //赋予不同的缺省参数... 阅读全文
posted @ 2012-09-07 15:26 as_ 阅读(829) 评论(0) 推荐(0)
浙公网安备 33010602011771号