首先,我們看看編譯器如何處理虛函數(shù)。
當(dāng)編譯器發(fā)現(xiàn)我們的類中有虛函數(shù)的時(shí)候,編譯器會(huì)創(chuàng)建一張?zhí)摵瘮?shù)表,把虛函數(shù)的函數(shù)入口地址放到虛函數(shù)表中,并且在類中秘密增加一個(gè)指針,這個(gè)指針就是vpointer(縮寫vptr),這個(gè)指針是指向?qū)ο蟮奶摵瘮?shù)表。
在多態(tài)調(diào)用的時(shí)候,根據(jù)vptr指針,找到虛函數(shù)表來實(shí)現(xiàn)動(dòng)態(tài)綁定。
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢想。