• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘

    字號: | 推薦給好友 上一篇 | 下一篇

    細談C++多態性的“動”與“靜”

    發布: 2008-6-10 16:33 | 作者: 不詳 | 來源: 天極網 | 查看: 62次 | 進入軟件測試論壇討論

    領測軟件測試網 軟件測試技術網} S]5\[]([4r

    uP#O}R  在很多書上都已經說明了C++的對象模型,這里只是做個驗證?纯催@段代碼:

    7].j\er)q1H9_ 軟件測試技術網:X*KAg-M g+[

      class C1軟件測試技術網 h ]i"jYsV ]
      ...{
    O]V!X7Lc8g&]  public:軟件測試技術網%S"NlBJeo#^B
      virtual void Test()軟件測試技術網/r'l?w*t
      ...{軟件測試技術網%|$m]};nU|yb
      cout << "call C1 Test()" << endl;軟件測試技術網j*[,u'K/[^7a0gW
      }軟件測試技術網~D&x|7Z&MJqI&t
      };軟件測試技術網1p*Om EV5X$@'|Y#Me

    軟件測試技術網C0aZ'R` i#A9W

      class C11 : public C1
    S-nP,g.u/M:N  ...{
    Wuu/a/O8k7I  public:
    9C5q2W i*hv/nx  void Test()
    +R0e3G N~V(a{G  ...{軟件測試技術網9I.{"j)FlO2c3tx
      cout << "call C11 Test()" << endl;
    a~cq{@A qO  }軟件測試技術網^2?9n&J8dPW&]'K
      };軟件測試技術網^:QQ2V?m/S

    6{GDibg  class C12 : public C1軟件測試技術網[@a1oD2R,e)Sk
      ...{
    ,U W&u!C"|KTJ  public:軟件測試技術網:c.Q(\] j j
      void Test()軟件測試技術網Eq_9mC!E9@9n
      ...{
    6@*mbF6VZ7t  cout << "call C12 Test()" << endl;軟件測試技術網m"]+`zr&Y$t
      }
    ,m8_!f#oR  }; 軟件測試技術網Po)IP2`a3B~

    軟件測試技術網$o(UxS5e@

      我們可以知道 Test() 是虛函數,從C1派生的類必定有自己的虛表。而且根據別的資料,虛表指針是放在對象的首地址的,我們下面就來驗證一下:軟件測試技術網t {1urB[x9E

    軟件測試技術網,f/K,SKA

      // 驗證首地址
    Tt1T qca  C11 obj110;
    z[@,Q&\F}+Y  C11 obj111;軟件測試技術網 ^sZ ?+SZ

    軟件測試技術網7J 老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>