第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

父類(lèi)指針指向子類(lèi)內(nèi)存,為什么當(dāng)父類(lèi)的成員函數(shù)不加virtual時(shí),訪問(wèn)的還是父類(lèi)的成員函數(shù),而不是子類(lèi)同名的成員函數(shù)?

父類(lèi)指針指向子類(lèi)內(nèi)存,為什么當(dāng)父類(lèi)的成員函數(shù)不加virtual時(shí),訪問(wèn)的還是父類(lèi)的成員函數(shù),而不是子類(lèi)同名的成員函數(shù)?

畢竟父類(lèi)指向的是子類(lèi)的內(nèi)存,只能訪問(wèn)到子類(lèi)的函數(shù),和繼承自父類(lèi)的函數(shù)。


正在回答

3 回答

我認(rèn)為是這樣,類(lèi)的成員函數(shù)都在代碼區(qū),不同的類(lèi)的成員函數(shù)在代碼區(qū)有自己的類(lèi)名稱(chēng)空間限制,類(lèi)的虛函數(shù)在虛函數(shù)表中,程序執(zhí)行的時(shí)候,是先在虛函數(shù)表中找該成員函數(shù),如果沒(méi)有找到,就去該類(lèi)在代碼區(qū)的成員函數(shù)中去找。

所以如果父類(lèi)的成員函數(shù)加上virtual時(shí),訪問(wèn)的時(shí)候是先在虛函數(shù)表中查找,如果找到了,就執(zhí)行,沒(méi)找到就再在該類(lèi)的代碼區(qū)查找。所以父類(lèi)普通的成員函數(shù)只能在父類(lèi)的代碼區(qū)找到。

也就是說(shuō)通過(guò)父類(lèi)指針找普通成員函數(shù)時(shí),雖然父類(lèi)指針指向子類(lèi)對(duì)象,通過(guò)父類(lèi)指針只能訪問(wèn)子類(lèi)對(duì)象的數(shù)據(jù)成員(部分,父類(lèi)獨(dú)有的),不能訪問(wèn)子類(lèi)對(duì)象的成員函數(shù)(與父類(lèi)同名),如果想要訪問(wèn),只能將子類(lèi)的成員函數(shù)變成虛函數(shù),放進(jìn)虛函數(shù)表中,這樣父類(lèi)指針才可以優(yōu)先找到虛函數(shù)表中的成員函數(shù),但是這個(gè)成員函數(shù)是子類(lèi)的;

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

淺夏流年 提問(wèn)者

非常感謝!
2017-05-05 回復(fù) 有任何疑惑可以回復(fù)我~

當(dāng)基類(lèi)中的數(shù)據(jù)成員和成員函數(shù)與派生類(lèi)的相同的時(shí)候,又因?yàn)榕缮?lèi)的成員是在父類(lèi)之下的,所以在沒(méi)有虛函數(shù)的情況下,就會(huì)是先訪問(wèn)父類(lèi)的。如果有虛函數(shù)的時(shí)候,就要先考慮虛函數(shù)表了,因?yàn)楦割?lèi)的和子類(lèi)的同名,子類(lèi)中的虛函數(shù)的地址就會(huì)覆蓋住父類(lèi)的,從而訪問(wèn)的是子類(lèi)的

0 回復(fù) 有任何疑惑可以回復(fù)我~

父類(lèi)指針指向子類(lèi)內(nèi)存,應(yīng)該是子類(lèi)里的成員函數(shù)對(duì)父類(lèi)進(jìn)行了初始化吧,指針始終還是父類(lèi)的,只是其成員可以由子類(lèi)初始化,那么用該指針調(diào)用同名函數(shù)時(shí)自然調(diào)用的是被子類(lèi)初始化了的父類(lèi)成員函數(shù)了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C++遠(yuǎn)征之多態(tài)篇
  • 參與學(xué)習(xí)       66223    人
  • 解答問(wèn)題       334    個(gè)

本教程將帶領(lǐng)大家體會(huì)面向?qū)ο笕筇匦灾械亩鄳B(tài)特性

進(jìn)入課程

父類(lèi)指針指向子類(lèi)內(nèi)存,為什么當(dāng)父類(lèi)的成員函數(shù)不加virtual時(shí),訪問(wèn)的還是父類(lèi)的成員函數(shù),而不是子類(lèi)同名的成員函數(shù)?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)