對象記憶體布局 (3)

來源:互聯網
上載者:User

內容概要:

滿足下面2個條件時,

1. 父類無虛函數,子類有虛函數

2. 非虛繼承

類對象之記憶體布局

 

前篇:http://blog.csdn.net/pathuang68/archive/2009/04/23/4101977.aspx

 

如果將Base中的兩個虛函數刪除,情況有會怎麼樣呢?

將Base中的兩個虛函數刪除,其他保持不變。Base類和Derived類兩者之間的關係如下:

  

運行結果如下:

  

 

Derived對象的memory layout圖解如下:

 

這次由於Base類中不存在虛函數,所以在Derived類對象中的Base subobject就不會有vptr了,但Derived類中有虛函數,所以它的對象中就有vptr了。

 

後篇:http://blog.csdn.net/pathuang68/archive/2009/04/23/4101981.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.