青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Note of Justin

關于工作和讀書的筆記

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  47 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

留言簿(14)

搜索

  •  

積分與排名

  • 積分 - 53598
  • 排名 - 433

最新評論

閱讀排行榜

評論排行榜

[原創文章歡迎轉載,但請保留作者信息]
Justin 于 2010-01-26

條例36很簡短,切勿重寫繼承來的非虛函數。看了看也就一句話能說明白的事:對于父類的非虛函數,子類老老實實繼承即可,不要重寫覆蓋。道理確是很簡單,如果是可以重新定義的函數,人家自然會用虛函數;如果用的是非虛函數,明擺著就是不讓你亂動嘛@#¥%

接下來的37也不難理解:不要試圖修改繼承來的虛函數的默認參數。原因嘛,要記錄一下,大師說了:

  • 虛函數是動態綁定的,或者說是執行期確定的。
    函數(包括虛函數)的默認參數是靜態綁定的,或者說是編譯期確定的。
  • 所以我們可以寫出和父類不一樣的虛函數實現,
    但是不能指定另外一個和父類函數默認參數不一樣的默認參數。

有點拗口,沒時間編例子了,就還是看代碼吧:

class  AClass
{
   
public :
      
virtual   void  func(  int  param  =   123  )
      
{
         
// ..
      }

   
// ..
}
;

class  AClassDerived :  public  AClass
{
   
public :
      
//  problematic overwriting the default parameter..
       virtual   void  func(  int  param  =   456  )
      
{
         
// ..
      }

   
// ..
}
;

int  main()
{
   AClass 
*  pA  =   new  AClassDerived;
   pA
-> func();
   
// ..
}

在上面的代碼中,由于函數默認參數的靜態綁定特性,pA->func()執行時param事實上被賦予了123,而非子類中期望的456,雖然接下來執行的是子類的函數實現……
為什么函數默認參數不能是動態綁定的呢?因為C++考慮到執行效率和復雜性方面的代價,規定了只能是靜態綁定的。(不是我胡謅,還是大師說的)

原因說了,該記解決方式了:
結合35課上學到的知識,我們可以用非虛函數接口(NVI)來解決這個問題,看代碼
class AClass
{
   
public:
      
void func(int param = 123)
      
{
         funcImpl(param);
      }

   
private:
      
virtual void funcImpl( int real_param ) = 0;
   
//..
}
;

class AClassDerived : public AClass
{
   
private:
      
virtual void funcImpl( int real_param )
      
{
         
//do whatever you feel like to do here..
      }

   
//..
}
;
對默認參數的設定放在了一個非虛函數中,這樣一來,就不會有以上說的顧慮了。
posted on 2010-03-04 16:47 Justin.H 閱讀(416) 評論(0)  編輯 收藏 引用 所屬分類: Effective C++ 炒冷飯
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            韩国精品在线观看| 国产精品一区久久久久| ●精品国产综合乱码久久久久| 一区二区三区成人精品| 亚洲裸体视频| 国产精品视频精品视频| 久久精品噜噜噜成人av农村| 午夜国产精品视频免费体验区| 国产精品三级视频| 久久久噜噜噜久久狠狠50岁| 欧美国产视频日韩| 亚洲女爱视频在线| 女同一区二区| 欧美影院午夜播放| 欧美区国产区| 久久五月激情| 国产精品福利在线| 欧美国产视频一区二区| 国产精品日韩欧美一区| 欧美激情一区二区三区成人| 欧美性片在线观看| 欧美激情va永久在线播放| 国产欧美日韩三区| 宅男精品导航| 中文在线不卡| 欧美女人交a| 亚洲国产精品久久91精品| 国产精品免费久久久久久| 亚洲福利小视频| 91久久线看在观草草青青| 性做久久久久久久久| 欧美在线观看www| 国产精品视频一区二区三区| 一区二区三区国产在线观看| 日韩一级黄色大片| 欧美理论片在线观看| 亚洲理论在线观看| 午夜精品一区二区三区在线视 | 久久久综合激的五月天| 久久久一区二区三区| 国产毛片一区二区| 亚洲图片欧洲图片av| 91久久精品日日躁夜夜躁国产| 免费观看日韩av| 99精品欧美一区二区三区综合在线| 亚洲人成毛片在线播放| 欧美日韩国产一级| 午夜欧美大尺度福利影院在线看| 欧美一区二区在线看| 国内精品写真在线观看| 欧美大胆人体视频| 亚洲免费中文字幕| 亚洲高清一区二| 久久av资源网| 99热精品在线观看| 狠狠爱www人成狠狠爱综合网| 久久久之久亚州精品露出| 日韩小视频在线观看专区| 久久综合色天天久久综合图片| 亚洲精品日韩综合观看成人91| 国产精品久久久久婷婷| 老司机免费视频一区二区三区| aⅴ色国产欧美| 欧美激情第1页| 久久一二三国产| 午夜免费久久久久| 亚洲男人第一av网站| 日韩亚洲精品视频| 亚洲免费精彩视频| 亚洲电影第三页| 亚洲国产精品欧美一二99| 国产一区二区三区在线观看视频 | 国产日韩av一区二区| 欧美日韩亚洲综合在线| 欧美午夜电影一区| 欧美区在线播放| 国产精品久久| 国产日韩一区二区三区| 欧美日韩亚洲天堂| 国产视频亚洲精品| 亚洲电影在线播放| 一本色道久久综合| 久久爱www久久做| 久久久久久高潮国产精品视| 久久精品二区三区| 亚洲国产三级网| 亚洲精品久久久久久久久久久久久| 亚洲高清免费在线| 宅男精品视频| 免费亚洲电影| 国产亚洲综合在线| 亚洲精品三级| 久久综合久久88| 亚洲靠逼com| 欧美高清视频免费观看| 国产一区二区三区无遮挡| 亚洲日本va午夜在线电影| 小黄鸭精品密入口导航| 亚洲国产成人久久综合| 欧美一区二区三区在线播放| 欧美金8天国| 亚洲九九九在线观看| 另类尿喷潮videofree| 在线一区亚洲| 亚洲在线一区二区三区| 在线一区亚洲| 欧美在线日韩| 国产精品第一区| 亚洲午夜一区二区三区| 亚洲第一区中文99精品| 榴莲视频成人在线观看| 亚洲国产一区二区三区青草影视 | 国产日韩一区| 久久爱www| 米奇777在线欧美播放| 亚洲成色精品| 91久久精品美女高潮| 欧美日韩另类视频| 亚洲自啪免费| 欧美在线视频a| 亚洲精品国产系列| 一本色道88久久加勒比精品| 国产精品qvod| 久久亚洲精品一区二区| 免费在线播放第一区高清av| 99精品视频免费观看视频| 一本久道久久综合中文字幕 | 免费不卡亚洲欧美| 亚洲一区二区三区在线播放| 午夜精品久久久| 欧美日本韩国在线| 国产亚洲免费的视频看| 午夜国产不卡在线观看视频| 久久久www| 久久久久久999| 国产精品www994| 亚洲国产精品成人一区二区| 国产精品露脸自拍| 99re6热只有精品免费观看| 曰韩精品一区二区| 亚洲欧美国产日韩中文字幕| 9人人澡人人爽人人精品| 久久久久久久国产| 久久精品国产清高在天天线| 欧美日韩国产首页在线观看| 欧美激情精品久久久久久蜜臀| 国产精品影音先锋| 亚洲欧美日韩在线高清直播| 一区二区三区欧美亚洲| 欧美精品在线观看| 亚洲精品老司机| 一区二区三区视频观看| 欧美成人自拍| 9色精品在线| 欧美一区综合| 在线播放日韩专区| 欧美精品久久天天躁| 99v久久综合狠狠综合久久| 亚洲永久免费视频| 国产一区二区三区观看| 久久久91精品国产| 亚洲三级毛片| 久久成人18免费观看| 黄色精品一二区| 国产精品a久久久久久| 欧美综合国产| 亚洲三级电影在线观看| 久久久99久久精品女同性| 亚洲国产专区校园欧美| 欧美视频导航| 欧美大片一区二区三区| 亚洲欧美精品一区| 亚洲精品美女久久7777777| 久久激情网站| 亚洲欧美另类在线观看| 亚洲国产精品电影| 狠狠色2019综合网| 国产精品久久一卡二卡| 欧美成人亚洲| 蜜桃av一区二区| 久久久精品午夜少妇| 亚洲一区二区免费在线| 亚洲毛片视频| 亚洲精品小视频在线观看| 亚洲高清久久网| 欧美1区2区视频| 欧美.www| 亚洲国产精品成人| 亚洲国产精品va在线看黑人动漫| 久久久午夜电影| 美女任你摸久久| 亚洲第一久久影院| 亚洲高清在线视频| 亚洲国产欧美一区二区三区同亚洲 | 亚洲激情一区| 亚洲日本va午夜在线电影| 亚洲精品欧美精品| 中日韩午夜理伦电影免费| 亚洲一区二区三区免费观看| 亚洲欧美成人在线|