已采納回答 / 男人海洋liu
你的問題怎么說呢?你想什么時候用就什么時候用。但是有一點要注意的是:允許將一個聲明為指向基類的指針指向其公有派生類的對象,但是不能將一個聲明為指向派生類的指針指向其基類的一個對象(把這句話讀三遍,你就明白了)
2016-03-25
已采納回答 / 潯無涯
dynamic_cast會根據(jù)基類指針是否真正指向繼承類指針來做相應(yīng)處理。?對指針進行dynamic_cast,失敗返回null,成功返回正常cast后的對象指針;?對引用進行dynamic_cast,失敗拋出一個異常,成功返回正常cast后的對象引用。?
2016-03-23
已采納回答 / topband
肯定不是這樣的。1、使用virtual會產(chǎn)生一個虛擬指針表,要維持這個表,便額外加大了系統(tǒng)的開銷。2、也不是所有的成員函數(shù)都需要實現(xiàn)多態(tài)的,總有些函數(shù)實現(xiàn)的功能意義時固定的,比如說加減乘除3、虛繼承無非是為了避免諸如菱形繼承的情況,在我們構(gòu)建類圖的時候,就需要考慮到這些問題,如果能不用虛繼承,就不用咯。綜上,應(yīng)該是能不用就不用,C++就是以號稱節(jié)省資源,運行效率高的。如果在寫程序的時候,使得消耗過多的系統(tǒng)資源,便失去了這門語言高效的意義了。那還不如直接用一些新興的語言如GO,SCALA之類的了。
2016-03-09
已采納回答 / flurry
IndexException() 可以類比new IndexException()實際上前者是拋出一個類,后者是申請一個類。從老師的視頻中可以看到,該類是使用默認構(gòu)造函數(shù),即沒有初始化參數(shù)。所以IndexException后加(),內(nèi)無參數(shù),如果有參數(shù),那么()內(nèi)應(yīng)該填寫相應(yīng)初始化參數(shù)值。
2016-03-02
最贊回答 / qq_玲_3
Father *p_children = new Children(xxx)? 是用父類指針指向子類對象,不是“使用父類對象實例化子類”。 eg:處理函數(shù)? Action(Animal *p);定義對象是用子類? Pig pig????????Horse horse...開始活動??? Action(&pig)???? Action(&horse)...???? 這時只需傳子類地址到Action函數(shù),不必寫區(qū)別處理Pig, Horse...的函數(shù)了。? 大概思想如此,建議看看多態(tài)方面的內(nèi)容...
2016-01-09
已采納回答 / 張土土
首先flymatch函數(shù)不僅可以傳入指針,還可以傳入實例化對象。1、課程中為什么要傳入flyable指針呢,是基于基類的引用和指針可以引用子類的對象這一原則,也就是說flyable *p? 這個指針既可以引用bird也可以引用plan,這樣做的好處后面會說到。2、那為什么不用flyable p 呢,是因為flyable是純虛函數(shù),flyable p就是實例化一個flyable的對象p。顯而易見,純虛函數(shù)是不能被實例化的,所以flyable p 是非法的。3、那可以傳入什么樣的實例化對象呢,bird和pla...
2016-01-08
已采納回答 / charlie111
不行的,這是C++ 對 ABSTRACT FUNCTION 的標志。 就像在JAVA 的 CLASS里 要用?abstract void eat(); 來聲明虛函數(shù)。
2015-12-31
已采納回答 / 太陽雨下
不一定,如果是private權(quán)限的,就不會,其它情況會,這樣就算不是虛函數(shù)也是一樣的。子類繼承父類,在創(chuàng)建類的時候就會有一個虛函數(shù)表的概念,如果子類沒重寫同名函數(shù),子類的虛函數(shù)表關(guān)于該函數(shù)的入口地址就會指向父類的該函數(shù)的代碼入口地址
2015-12-28
已采納回答 / 太陽雨下
先說個函數(shù)指針的概念,每個類(除了空類,就是沒有方法也沒有屬性的類)在創(chuàng)建的時候,就會生成一個虛函數(shù)表指針,這個指針與普通的指針一樣,存的是函數(shù)的入口地址,這是在類生成的時候就建立的。下來說幾種情況:父類實現(xiàn)了非virtual修飾的方法一,子類繼承父類,子類沒有再實現(xiàn)方法一,這樣父類與子類的關(guān)于方法一在各自虛函數(shù)表中的地址是一樣的,也就是子類可以直接用父類的方法,而不用再去實現(xiàn);父類實現(xiàn)了非virtual修飾的方法一,子類繼承父類,子類重寫了方法一,這樣子類的虛函數(shù)表的方法一的地址與父類的虛函數(shù)表的方法一...
2015-12-28