如果一個(gè)類中有個(gè)多個(gè)虛函數(shù),當(dāng)通過vptr指針去虛函數(shù)表調(diào)用虛函數(shù)時(shí),怎么知道要調(diào)用的是哪一個(gè)呢?
1 回答

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
編譯器會(huì)分析這個(gè)類以及其父類中的每一個(gè)虛函數(shù),以此為依據(jù)制作一張?zhí)摵瘮?shù)表,其中依次存放這些函數(shù)的入口地址。然后,代碼中所有調(diào)用這些函數(shù)的地方都會(huì)被替換成虛函數(shù)指針+對應(yīng)函數(shù)偏移,這樣就可以找到要調(diào)用的函數(shù)了。
- 1 回答
- 0 關(guān)注
- 803 瀏覽
添加回答
舉報(bào)
0/150
提交
取消