最贊回答 / 慕UI8711183
1、虛函數(shù)表不是只存儲(chǔ)虛函數(shù)的地址嗎? 怎莫理解您說(shuō)的 “類(lèi)對(duì)象的頭部即虛函數(shù)表所在” 這句話。虛函數(shù)表存放的是虛函數(shù)的地址,虛函數(shù)表指針存放的是虛函數(shù)表的首地址,在內(nèi)存中,子類(lèi)對(duì)象Circle頭部(即前四個(gè)字節(jié))存放的是虛函數(shù)表指針,父類(lèi)指針p指向子類(lèi)Circle,也就是說(shuō)把子類(lèi)Circle的首地址賦值給p,根據(jù)p就可以找到子類(lèi)Circle的虛函數(shù)表指針,依次找到虛函數(shù)表,再找到虛函數(shù)。2、沒(méi)有虛函數(shù),就沒(méi)有虛函數(shù)表,子類(lèi)對(duì)象Circle頭部(即前四個(gè)字節(jié))就沒(méi)有虛函數(shù)表指針,就沒(méi)法調(diào)用子類(lèi)對(duì)象Circ...
2016-03-18
最新回答 / Sacrt
是不是要初始化啊,F(xiàn)ighterPlane里面好像沒(méi)有m_strCode的數(shù)據(jù)成員,在Plane才有。改成“FighterPlane(string code):Plane(code)”試試
2016-03-12
最贊回答 / XZMYSTYLE
如果用new的話,下面的catch語(yǔ)句傳入的參數(shù)要用*代替&,同時(shí)catch里面的調(diào)用函數(shù)的語(yǔ)法也要用->來(lái)實(shí)現(xiàn)
2016-03-10
最新回答 / 慕斯卡2190356
只有函數(shù)聲明沒(méi)有函數(shù)定義的虛函數(shù)是純虛函數(shù)沒(méi)有問(wèn)題 這句話意思應(yīng)該是只有聲明且編譯通過(guò)的虛函數(shù)是純虛函數(shù)
2016-03-10
已采納回答 / topband
肯定不是這樣的。1、使用virtual會(huì)產(chǎn)生一個(gè)虛擬指針表,要維持這個(gè)表,便額外加大了系統(tǒng)的開(kāi)銷(xiāo)。2、也不是所有的成員函數(shù)都需要實(shí)現(xiàn)多態(tài)的,總有些函數(shù)實(shí)現(xiàn)的功能意義時(shí)固定的,比如說(shuō)加減乘除3、虛繼承無(wú)非是為了避免諸如菱形繼承的情況,在我們構(gòu)建類(lèi)圖的時(shí)候,就需要考慮到這些問(wèn)題,如果能不用虛繼承,就不用咯。綜上,應(yīng)該是能不用就不用,C++就是以號(hào)稱(chēng)節(jié)省資源,運(yùn)行效率高的。如果在寫(xiě)程序的時(shí)候,使得消耗過(guò)多的系統(tǒng)資源,便失去了這門(mén)語(yǔ)言高效的意義了。那還不如直接用一些新興的語(yǔ)言如GO,SCALA之類(lèi)的了。
2016-03-09
最贊回答 / 計(jì)量趙子龍
這個(gè)網(wǎng)站的判斷系統(tǒng)沒(méi)有專(zhuān)業(yè)的oj那么嚴(yán)謹(jǐn),你要是想到網(wǎng)上做題,我推薦你一個(gè)網(wǎng)站http://acm.hdu.edu.cn/listproblem.php?vol=1
2016-03-09
最新回答 / 流星1998
bird是子類(lèi),將子類(lèi)的對(duì)象傳給父類(lèi)的指針或引用,通過(guò)父類(lèi)的指針或引用通過(guò)虛函數(shù)實(shí)現(xiàn)多態(tài)調(diào)用子類(lèi)的成員函數(shù),例子中用父類(lèi)的話還能傳其他的子類(lèi),不僅僅是bird。
2016-03-07
最贊回答 / 天高任鳥(niǎo)飛9903
試著回答Rect和Circle都是shape的子類(lèi),子類(lèi)給父類(lèi)函數(shù)成員賦值,要使用參數(shù)列表,增加工作量
2016-03-04
已采納回答 / flurry
IndexException() 可以類(lèi)比new IndexException()實(shí)際上前者是拋出一個(gè)類(lèi),后者是申請(qǐng)一個(gè)類(lèi)。從老師的視頻中可以看到,該類(lèi)是使用默認(rèn)構(gòu)造函數(shù),即沒(méi)有初始化參數(shù)。所以IndexException后加(),內(nèi)無(wú)參數(shù),如果有參數(shù),那么()內(nèi)應(yīng)該填寫(xiě)相應(yīng)初始化參數(shù)值。
2016-03-02
最贊回答 / 小肚腩era
如果父類(lèi)定義了一個(gè)虛函數(shù)-calcArea,子類(lèi)繼承,但子類(lèi)沒(méi)有去重新定義,那么,就會(huì)有2張?zhí)摵瘮?shù)表,并且,父類(lèi)與子類(lèi)的虛函數(shù)表指針地址不同,但都指向同一個(gè)函數(shù)指針,即父類(lèi)中的虛函數(shù)-calcArea.
2016-02-21