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

Benjamin

靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠(yuǎn)。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數(shù)據(jù)加載中……

深度理解C++概念之繼承(三)

1.派生類可以重定義(“override(覆蓋)”)基類的非虛函數(shù)嗎?合法不合理。有時這樣做是為了更好的利用派生類的資源,即使非虛函數(shù)的指派基于指針/引用的靜態(tài)類型而不是指針/引用所指對象的動態(tài)類型,但其對客戶可見性必須是一致的。
2.“Warning: Derived::f(float) hides Base::f(int)” 意味著什么?
class Base {
 public:
   void f(double x);  
 doesn't matter whether or not this is virtual
 };
 
 class Derived : public Base {
 public:
   void f(char c);  
 doesn't matter whether or not this is virtual
 };
 
 int main()
 {
   Derived* d = new Derived();
   Base* b = d;
   b->f(65.3);  
 okay: passes 65.3 to f(double x)
   d->f(65.3);  
 bizarre: converts 65.3 to a char ('A' if ASCII) and passes it to f(char c); does NOT call f(double x)!!
   delete d;
   return 0;
 }

這個警告時說派生類f(float)函數(shù)和基類的f(int)同名,派生類的函數(shù)隱藏了基類的函數(shù),注意這不是重載(overloaded)或重寫(overridden)
解決方法:使用using聲明,例如:
class Base {
 public:
   void f(int);
 };
 
 class Derived : public Base {
 public:
   using Base::f;    // This un-hides Base::f(int)
   void f(double);
 };
如果不支持Using,就使用重新定義基類的被隱藏的成員函數(shù),使用::語法調(diào)用了基類被隱藏的成員函數(shù)
class Derived : public Base {
 public:
   void f(double x) { Base::f(x); }   The redefinition merely calls Base::f(double x)
   void f(char c);
 };
注意:著這不是標(biāo)準(zhǔn)的一部分,所以不是編譯器不一定會出現(xiàn)這個警告。
3.出現(xiàn)連接錯誤"virtual table" is an unresolved external”,意味著類中有一個未定義的成員方法。
許多編譯器將“虛表”放進(jìn)定義類的第一個非內(nèi)聯(lián)虛函數(shù)的編輯單元中。因此如果 Fred 類的第一個非內(nèi)聯(lián)虛函數(shù)是 wilma()
那么編譯器會將 Fred 的虛函數(shù)表放在 Fred::wilma() 所在的編輯單元里。不幸的是如果你意外的忘了定義 Fred::wilma()
那么你會得到一個"Fred's virtual table is undefined"(Fred的虛函數(shù)表未定義)的錯誤而不是“Fred::wilma() is undefined”(Fred::wilma()未定義)。
4.如何設(shè)置使類使用不了繼承:
簡單的方法是將類的構(gòu)造聲明為私有或使用命名的構(gòu)造函數(shù)(the Named Constructor Idiom),后者可以返回指針如果你想分配對象在堆上(使用new)或返回一個值如果你想分配對象在棧上。
加上注釋也是很很行的方法,例如:// We'll fire you if you inherit from this class or even just /*final*/ class Whatever {...};
最后是使用虛繼承,它可以使派生類的構(gòu)造直接調(diào)用虛基類的構(gòu)造。例如:下面的代碼可以保證不能從Fred派生類。
 class Fred;
 
 class FredBase {
 private:
   friend class Fred;
   FredBase() { }
 };
 
 class Fred : private virtual FredBase {
 public:
   ...
 }; 如果內(nèi)存受限制,則要定義一個指針的內(nèi)存到sizeof(Fred),這是因?yàn)榇蠖鄶?shù)的編譯器在實(shí)現(xiàn)虛繼承時增加了一個指向派生類的指針。不過這因編譯器而定。





posted on 2009-07-05 18:28 Benjamin 閱讀(410) 評論(0)  編輯 收藏 引用 所屬分類: C/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>
            一区二区激情视频| 久久综合九色综合网站| 欧美与欧洲交xxxx免费观看 | 亚洲福利国产精品| 亚洲一区二区三区在线看| 在线亚洲欧美| 香蕉视频成人在线观看| 久久国产综合精品| 久久中文字幕一区| 奶水喷射视频一区| 亚洲精品日产精品乱码不卡| 一本久久综合亚洲鲁鲁五月天| 一区二区三区四区在线| 亚洲资源在线观看| 久久久99爱| 欧美精品日韩www.p站| 欧美性久久久| 黑人巨大精品欧美黑白配亚洲| 亚洲黄色视屏| 午夜日韩激情| 欧美高清视频在线| 宅男噜噜噜66一区二区66| 欧美一区午夜视频在线观看| 欧美激情精品| 国产亚洲欧美在线| 日韩午夜电影在线观看| 午夜伦理片一区| 欧美黄色aaaa| 亚洲欧美视频在线观看| 男同欧美伦乱| 国产日韩欧美在线观看| 日韩视频精品| 久热re这里精品视频在线6| 亚洲乱码日产精品bd| 久久高清免费观看| 欧美日韩中文字幕精品| 国内外成人免费激情在线视频网站 | 欧美色大人视频| 在线免费观看成人网| 亚洲尤物精选| 最新精品在线| 久久久久这里只有精品| 国产精品人人爽人人做我的可爱| 亚洲欧洲精品成人久久奇米网| 亚洲欧美bt| 欧美人与禽猛交乱配| 日韩网站在线| 老巨人导航500精品| 国产精品国产a| 91久久一区二区| 久久久青草婷婷精品综合日韩| 亚洲精品三级| 久久影院午夜论| 国产在线精品一区二区中文| 亚洲免费视频在线观看| 亚洲精品偷拍| 久久综合图片| 一区精品在线| 久色成人在线| 久久久五月婷婷| 伊人精品在线| 欧美3dxxxxhd| 免费成人av| 亚洲精品欧美激情| 亚洲国产精品电影在线观看| 麻豆精品国产91久久久久久| 在线成人激情黄色| 久久综合福利| 久久综合久久综合这里只有精品| 在线观看国产一区二区| 狂野欧美激情性xxxx| 久久女同精品一区二区| 亚洲国产精品久久久久婷婷884| 免费观看久久久4p| 久久综合给合| 亚洲精选久久| 一区二区冒白浆视频| 国产精品国产一区二区| 欧美一级大片在线观看| 久久九九精品99国产精品| 亚洲国产精品999| 亚洲国产综合视频在线观看| 欧美日韩少妇| 欧美一区在线直播| 久久久久国产精品麻豆ai换脸| 亚洲国产91| 99精品国产在热久久婷婷| 国产麻豆精品久久一二三| 免费亚洲电影在线| 欧美国产视频在线观看| 亚洲综合色丁香婷婷六月图片| 亚洲欧美日韩网| 在线日韩欧美| 亚洲视频一二三| 黑人操亚洲美女惩罚| 亚洲人精品午夜| 国产麻豆91精品| 亚洲电影av| 国产欧美精品一区aⅴ影院| 麻豆精品视频在线| 欧美四级在线观看| 免费久久精品视频| 国产精品高潮呻吟久久| 欧美.com| 国产婷婷色一区二区三区在线 | 午夜精品短视频| 亚洲女人av| 亚洲国产成人精品女人久久久| 亚洲人成在线播放| 国产一区在线看| 亚洲精品中文字幕在线观看| 国产综合一区二区| 在线视频欧美日韩| 91久久精品网| 欧美一激情一区二区三区| 一本一本a久久| 久久婷婷激情| 欧美一区视频在线| 欧美性色视频在线| 亚洲欧洲日产国产综合网| 精品999在线播放| 亚洲欧美文学| 午夜激情综合网| 欧美日韩中文在线| 亚洲精品五月天| 99视频精品| 免费短视频成人日韩| 久久亚洲综合| 国产亚洲精品综合一区91| 宅男精品视频| 亚洲欧美综合v| 欧美日韩国产色视频| 亚洲高清免费视频| 亚洲黄页一区| 欧美成人中文字幕在线| 欧美国产日本| 亚洲黄色一区二区三区| 蜜桃久久av| 亚洲高清不卡| 一区二区三区不卡视频在线观看| 欧美成人精品| 亚洲国产三级| 99国产成+人+综合+亚洲欧美| 久久人人97超碰精品888| 久久亚洲精品一区二区| 在线观看精品视频| 欧美不卡在线视频| 亚洲区一区二| 在线亚洲+欧美+日本专区| 欧美三区在线| 亚洲综合成人婷婷小说| 久久精品视频在线| 一区二区三区亚洲| 欧美顶级少妇做爰| 亚洲免费电影在线| 香蕉久久一区二区不卡无毒影院| 欧美特黄视频| 欧美一区二区久久久| 久久精品夜色噜噜亚洲aⅴ| 国产亚洲精品aa| 久久亚洲精品中文字幕冲田杏梨| 欧美大片免费观看在线观看网站推荐| 亚洲第一狼人社区| 欧美多人爱爱视频网站| 亚洲视频精选在线| 久久夜色精品国产| 亚洲精品一区二区在线| 欧美日韩中文字幕精品| 欧美一级播放| 亚洲国产精品专区久久| 亚洲欧美日韩国产综合精品二区| 国产欧美韩日| 欧美精品在线播放| 亚洲视频欧洲视频| 亚洲高清视频在线| 欧美日韩国产成人精品| 亚洲午夜久久久久久久久电影网| 性高湖久久久久久久久| 激情国产一区二区| 欧美日本韩国一区二区三区| 午夜精品久久久久久久久| 欧美成年人视频网站| 亚洲一区二区三区免费视频 | 欧美一站二站| 亚洲精品女av网站| 亚洲午夜未删减在线观看| 国精品一区二区| 欧美午夜寂寞影院| 毛片av中文字幕一区二区| 亚洲视频一区在线| 欧美黄色免费| 久久久国产精品一区二区三区| 亚洲人成亚洲人成在线观看| 国产麻豆9l精品三级站| 欧美伦理影院| 免费亚洲一区| 久久久久国色av免费看影院| 亚洲图片你懂的| 日韩视频一区二区在线观看 | 激情校园亚洲|