首頁 > 專家說

C++中虛擬繼承的概念

來源:新能源網(wǎng)
時(shí)間:2024-08-17 13:28:03
熱度:

C++中虛擬繼承的概念【專家解說】:為了解決從不同途徑繼承來的同名的數(shù)據(jù)成員在內(nèi)存中有不同的拷貝造成數(shù)據(jù)不一致問題,將共同基類設(shè)置為虛基類。這時(shí)從不同的路徑繼承過來的同名數(shù)據(jù)成員在

【專家解說】:為了解決從不同途徑繼承來的同名的數(shù)據(jù)成員在內(nèi)存中有不同的拷貝造成數(shù)據(jù)不一致問題,將共同基類設(shè)置為虛基類。這時(shí)從不同的路徑繼承過來的同名數(shù)據(jù)成員在內(nèi)存中就只有一個(gè)拷貝,同一個(gè)函數(shù)名也只有一個(gè)映射。這樣不僅就解決了二義性問題,也節(jié)省了內(nèi)存,避免了數(shù)據(jù)不一致的問題。 class 派生類名:virtual 繼承方式 基類名 virtual是關(guān)鍵字,聲明該基類為派生類的虛基類。 在多繼承情況下,虛基類關(guān)鍵字的作用范圍和繼承方式關(guān)鍵字相同,只對(duì)緊跟其后的基類起作用。 聲明了虛基類之后,虛基類在進(jìn)一步派生過程中始終和派生類一起,維護(hù)同一個(gè)基類子對(duì)象的拷貝。