文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Item 37: Never redefine a function's inherited default parameter value(Effec

Item 37: Never redefine a function's inherited default parameter value(Effec

时间:2011-04-03  来源:Ray Z

 

Never redefine an inherited default parameter value, because default parameter values are statically bound, while virtual functions — the only functions you should be overriding — are dynamically bound.  1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 
 5 class Shape
 6 {
 7 public:
 8     virtual void draw(const string s = "Red") const
 9     {
10         cout << s << " in shape" << endl;
11     }
12 };
13 
14 class Circle : public Shape
15 {
16 public:
17     virtual void draw(const string s = "Blue") const
18     {
19         cout << s << " in circle" << endl;
20     }
21 };
22 
23 int main()
24 {
25     Shape* s = new Circle();
26     s->draw();
27     cin.get();
28     return 0;
29 }
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载