国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

虛基類(lèi)的作用是什么 什么叫做虛基類(lèi)?

什么叫做虛基類(lèi)?什么叫做虛基類(lèi)?,也就是說(shuō),編譯器不能確定您是否在D中。在f()中調(diào)用哪個(gè)函數(shù)f。這可能會(huì)讓人覺(jué)得有點(diǎn)奇怪。命名只定義了一個(gè)CA::F。因?yàn)槊總€(gè)人都從CA派生,所以它自然地被稱(chēng)為CA:

什么叫做虛基類(lèi)?

什么叫做虛基類(lèi)?

,也就是說(shuō),編譯器不能確定您是否在D中。在f()中調(diào)用哪個(gè)函數(shù)f。這可能會(huì)讓人覺(jué)得有點(diǎn)奇怪。命名只定義了一個(gè)CA::F。因?yàn)槊總€(gè)人都從CA派生,所以它自然地被稱(chēng)為CA::F。為什么我們不能確定呢?

這是因?yàn)榫幾g器在編譯時(shí)需要確定子類(lèi)的函數(shù)定義。例如,確定CA::F。然后,在編譯CB和CC時(shí),它還需要在編譯器的語(yǔ)法樹(shù)中生成CB::F、CC::F和其他標(biāo)識(shí)符。然后,在編譯CD時(shí),由于CB和CC有一個(gè)函數(shù)f,編譯器將嘗試生成這兩個(gè)CD::f標(biāo)識(shí)符。很明顯,此時(shí)會(huì)報(bào)告錯(cuò)誤,為時(shí)已晚。

(當(dāng)我們不使用CD::F時(shí),不會(huì)生成上述任何標(biāo)記,因此如果我們刪除D.

要解決此問(wèn)題,有兩種方法:

1。重載函數(shù)f():此時(shí)由于我們已經(jīng)明確定義了CD::f,編譯器在檢查CD::f()調(diào)用時(shí)不需要一步一步生成CD::f label;

此時(shí)CD的元素結(jié)構(gòu)如下:| CB(CA)|

]| CC(CA)|

,所以sizeof(CD)=8(CB和CC各有一個(gè)元素K)

2。使用虛擬繼承:虛擬繼承也稱(chēng)為共享繼承。這種共享實(shí)際上是在編譯過(guò)程中實(shí)現(xiàn)的。當(dāng)使用虛擬繼承時(shí),上面的程序?qū)⒆兂扇缦滦问剑篶lass ca.

虛基類(lèi)的作用是什么?

語(yǔ)法中有抽象類(lèi)和虛擬基類(lèi),這并不意味著你必須使用它們。我通常不使用花哨的東西。

我可以考慮使用抽象類(lèi),也許可以利用這個(gè)優(yōu)勢(shì):

具有純虛擬函數(shù)的類(lèi)是抽象類(lèi)。這個(gè)函數(shù)實(shí)際上并沒(méi)有在基類(lèi)中使用,它只是通知編譯器:

在這里聲明一個(gè)虛擬函數(shù),讓它在派生類(lèi)中定義。為類(lèi)族提供公共接口。

例如,要計(jì)算平面形狀的面積,在抽象類(lèi)基類(lèi)中,virtualfloatarea()const=0

派生類(lèi)三角形和派生類(lèi)圓定義了面積()的具體計(jì)算。一旦我們有了一個(gè)派生的三角形或圓,我們就可以使用相同的函數(shù)名。Area()計(jì)算面積。

虛擬基類(lèi)的構(gòu)造應(yīng)在派生類(lèi)中完成,并且應(yīng)在派生類(lèi)本身的構(gòu)造之前完成。當(dāng)存在派生類(lèi)1、派生類(lèi)2和生成的派生類(lèi)12時(shí),派生類(lèi)12只執(zhí)行一次虛擬基類(lèi)的構(gòu)造。虛擬基類(lèi)只有一個(gè)對(duì)象。至于它的特殊用途,我沒(méi)想到。

創(chuàng)建子類(lèi)對(duì)象時(shí),子類(lèi)和父類(lèi)的構(gòu)造函數(shù)執(zhí)行順序是什么?

繼承時(shí),構(gòu)造函數(shù)的調(diào)用順序?yàn)椋?。如果繼承虛擬基類(lèi),則首先調(diào)用虛擬基類(lèi)的構(gòu)造函數(shù)。如果有多個(gè)虛擬基類(lèi),請(qǐng)按順序調(diào)用它們。

2. 如果基類(lèi)是繼承的,則調(diào)用基類(lèi)的構(gòu)造函數(shù);如果有多個(gè)基類(lèi),則按順序調(diào)用它們。三。如果類(lèi)中定義了成員對(duì)象,則調(diào)用成員對(duì)象的構(gòu)造函數(shù);如果有多個(gè)成員對(duì)象,則按成員對(duì)象定義的順序調(diào)用;4。調(diào)用自己的構(gòu)造函數(shù);析構(gòu)函數(shù)的調(diào)用順序相反。