成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

虛函數(shù)與純虛函數(shù) 舉例說(shuō)明虛函數(shù)在類(lèi)的繼承中的作用?

舉例說(shuō)明虛函數(shù)在類(lèi)的繼承中的作用?虛函數(shù)是類(lèi)中聲明為虛的成員函數(shù)。當(dāng)編譯器看到這樣一個(gè)函數(shù)是通過(guò)指針或引用調(diào)用的時(shí),它會(huì)對(duì)其執(zhí)行后期綁定,即通過(guò)指針(或引用)所指向的類(lèi)的類(lèi)型信息來(lái)確定該函數(shù)屬于哪個(gè)類(lèi)

舉例說(shuō)明虛函數(shù)在類(lèi)的繼承中的作用?

虛函數(shù)是類(lèi)中聲明為虛的成員函數(shù)。當(dāng)編譯器看到這樣一個(gè)函數(shù)是通過(guò)指針或引用調(diào)用的時(shí),它會(huì)對(duì)其執(zhí)行后期綁定,即通過(guò)指針(或引用)所指向的類(lèi)的類(lèi)型信息來(lái)確定該函數(shù)屬于哪個(gè)類(lèi)。通常,這樣的指針或引用被聲明為基類(lèi)的,基類(lèi)可以指向基類(lèi)或派生類(lèi)的對(duì)象。具體的例子可以在網(wǎng)上或相關(guān)的教科書(shū)上找到。主要是要進(jìn)一步理解面向?qū)ο蟮母拍?。例如:有一個(gè)類(lèi)的繼承結(jié)構(gòu)。父類(lèi)是a,子類(lèi)B聲明一個(gè)虛函數(shù)vf()和a的指針PA。當(dāng)PA=newa()時(shí),PA->vf()調(diào)用父類(lèi)a的函數(shù)。當(dāng)PA=newb()時(shí),PA->vf()調(diào)用子類(lèi)B的函數(shù)這應(yīng)該是后綁定

這種情況更復(fù)雜。以米斯吉亞為例。在計(jì)算機(jī)上,C是8個(gè)字節(jié),也就是指向虛擬表的指針的大小。為此,我想補(bǔ)充一點(diǎn)知識(shí):空類(lèi)最常用作基類(lèi)。此時(shí),它們可能占用4個(gè)或更多字節(jié)進(jìn)行對(duì)齊。但是這會(huì)浪費(fèi)空間,特別是當(dāng)多重繼承多個(gè)空基類(lèi)時(shí)。因此編譯器有空的基類(lèi)優(yōu)化(ebco)[1],因此沒(méi)有非靜態(tài)數(shù)據(jù)成員和虛擬函數(shù)的基類(lèi)實(shí)際上占用0字節(jié)。因?yàn)锽S說(shuō),為了確保兩個(gè)不同的對(duì)象有不同的地址--“為了確保兩個(gè)不同對(duì)象的頭飾應(yīng)該是不同的”,它用這1個(gè)字節(jié)在內(nèi)存中占據(jù)不同的地址。因?yàn)檫@些空類(lèi)沒(méi)有賦值的意義,所以不需要占用更多內(nèi)存。