VPTR的分步初始化
生活随笔
收集整理的這篇文章主要介紹了
VPTR的分步初始化
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
假設(shè)一個(gè)含有虛函數(shù)的子類(lèi)。C++類(lèi)在編譯的時(shí)候,分配內(nèi)存,提前布局虛函數(shù)表,定義VPTR;
當(dāng)創(chuàng)建對(duì)象的時(shí)候,初始化子類(lèi)的VPTR,使其指向父類(lèi)的虛函數(shù)表;
當(dāng)父類(lèi)的構(gòu)造函數(shù)運(yùn)行結(jié)束的時(shí)候,子類(lèi)的VPTR指向子類(lèi)本身的虛函數(shù)表;
因此,當(dāng)父類(lèi)的構(gòu)造函數(shù)調(diào)用虛函數(shù)的時(shí)候,調(diào)用的是父類(lèi)自己的虛函數(shù);當(dāng)子類(lèi)的構(gòu)造函數(shù)調(diào)用虛函數(shù)的時(shí)候,調(diào)用的是子類(lèi)自己的虛函數(shù)
?
?
總結(jié)
以上是生活随笔為你收集整理的VPTR的分步初始化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx:模块讲解
- 下一篇: Nginx作为静态资源web服务