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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么虛函數(shù)不應(yīng)該是內(nèi)聯(lián)(inline)函數(shù)?

為什么虛函數(shù)不應(yīng)該是內(nèi)聯(lián)(inline)函數(shù)?

幕布斯7119047 2019-02-14 15:11:48
為什么虛函數(shù)不應(yīng)該是內(nèi)聯(lián)(inline)函數(shù)
查看完整描述

2 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗 獲得超17個贊

常見的不能聲明為虛函數(shù)的有:普通函數(shù)(非成員函數(shù))、靜態(tài)成員函數(shù)、內(nèi)聯(lián)成員函數(shù)、構(gòu)造函數(shù)、友元函數(shù)。1、為什么C++不支持普通函數(shù)為虛函數(shù)? 普通函數(shù)(非成員函數(shù))只能overload,不能被override,聲明為虛函數(shù)也沒有什么意思,因此編譯器會在編譯時綁定函數(shù)。2、為什么C++不支持構(gòu)造函數(shù)為虛函數(shù)?這個原因很簡單,主要是從語義上考慮,所以不支持。因為構(gòu)造函數(shù)本來是為了明確初始化對象成員才產(chǎn)生的,然而virtual function主要是為了在不完全了解細(xì)節(jié)的情況下也能正確處理對象。另外,虛函數(shù)是在不同類型的對象產(chǎn)生不同的動作,現(xiàn)在對象還沒有產(chǎn)生,如何使用虛函數(shù)來完成你想完成的動作。3、為什么C++不支持靜態(tài)成員函數(shù)為虛函數(shù)? 靜態(tài)成員函數(shù)對于每個類來說只有一份代碼,所有的對象都共享這一份代碼,他不歸某個對象所有,所以他也沒有動態(tài)綁定的必要性。4、為什么C++不支持內(nèi)聯(lián)成員函數(shù)為虛函數(shù)? 其實很簡單,內(nèi)聯(lián)函數(shù)就是為了在代碼中直接展開,減少函數(shù)調(diào)用話費(fèi)的代價,虛函數(shù)是為了在繼承后對象能夠準(zhǔn)確的執(zhí)行自己的動作,這是不可能統(tǒng)一的。再說,inline函數(shù)在編譯時被展開,虛函數(shù)在運(yùn)行時才能動態(tài)的綁定函數(shù)。5、為什么C++不支持友元函數(shù)為虛函數(shù)?

查看完整回答
反對 回復(fù) 2019-03-26
  • 2 回答
  • 0 關(guān)注
  • 1049 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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