虛函數(shù)表存在什么位置 虛函數(shù)調(diào)用為什么不能在編譯時確定?
虛函數(shù)調(diào)用為什么不能在編譯時確定?在編譯時,編譯器不知道用戶選擇哪種類型的對象。當(dāng)一個函數(shù)被聲明為虛擬函數(shù)時,編譯器會創(chuàng)建一個虛擬函數(shù)表來存儲虛擬函數(shù)的地址。當(dāng)在運(yùn)行時通過基類指針調(diào)用虛函數(shù)時,編譯器
虛函數(shù)調(diào)用為什么不能在編譯時確定?
在編譯時,編譯器不知道用戶選擇哪種類型的對象。當(dāng)一個函數(shù)被聲明為虛擬函數(shù)時,編譯器會創(chuàng)建一個虛擬函數(shù)表來存儲虛擬函數(shù)的地址。當(dāng)在運(yùn)行時通過基類指針調(diào)用虛函數(shù)時,編譯器靜態(tài)地插入虛函數(shù)指針,并在虛函數(shù)表中找到確切函數(shù)版本的正值