請大家幫我看一下這幾個c程式題,萬分感謝

時間 2021-09-04 02:35:23

1樓:匿名使用者

作為四個內部型別轉換操作符之一的dynamic_cast和傳統的c風格的強制型別轉換有著巨大的差別。除了dynamic_cast以外的轉換,其行為的都是在編譯期就得以確定的,轉換是否成功,並不依賴被轉換的物件。而dynamic_cast則不然。

在這裡,不再討論其他三種轉換和c風格的轉換。

首先,dynamic_cast依賴於rtti資訊,其次,在轉換時,dynamic_cast會檢查轉換的source物件是否真的可以轉換成target型別,這種檢查不是語法上的,而是真實情況的檢查。

先看rtti相關部分,通常,許多編譯器都是通過vtable找到物件的rtti資訊的,這也就意味著,如果基類沒有虛方法,也就無法判斷乙個基類指標變數所指物件的真實型別, 這時候,dynamic_cast只能用來做安全的轉換,例如從派生類指標轉換成基類指標.而這種轉換其實並不需要dynamic_cast參與.

也就是說,dynamic_cast是根據rtti記載的資訊來判斷型別轉換是否合法的.

下面看乙個例子:

struct b1

};struct b2

};struct d1 : b1, b2{};

int main()

上述定義中可以看到,b1和b2是不相關的類,從l1可以看到,dynamic_cast允許這種轉換:只要b1存在多型方法.

l2將編譯失敗,static_cast並不允許兩個完全不相干的類互相轉換.

2樓:匿名使用者

答案為:d

如一樓所說,你的基類的析構函式要使虛擬的,否則後面的派生不會執行,

有哪位高手幫我解決一下兩個c++問題,萬分感謝!

請c++高手幫我解決一下,萬分感謝!

3樓:匿名使用者

看見這個式子考

bai慮三點問題

du:1.符號問題(正負交替zhi)

2.資料範圍dao問題(選用double)3.求乙個數專的n次方(可用pow函式屬:double pow(double x,double y),也可以自定義函式)

幫你解決下第三個問題:

#include

#include

using namespace std;

int main()

/*output:

0.783431(vc++ 6.0)*/

4樓:廖北伯

幫你bai寫du

zhi(3).

double sum=0;

int sign=1;

for(int i=1; i<=10; i++)sum+=term;

}(1)(2)自己

dao編回吧答.

大家幫我看一下,他喜歡我嗎,請大家幫我看一下他是不是喜歡我?

我覺得他並不喜歡,而且一直在敷衍你哦。說不定還有別的內情。好好想想吧,曾經我和你一樣,後悔都來不急。記著,男人不能哄,只有他哄你,那樣他才知道珍惜你。不然他會總覺得你欠他的,永遠都還不清 張馨 我感覺你倆不合適,他太現實而你喜好浪漫。就拿他回家不開機說吧,沒訊號不是問題,如果他真想你,座機也可以打 ...

jsp報錯請大家幫我看一下

輸出使用者資訊 string user name string session.getattribute user name string word request.getparameter word string sayto request.getparameter sayto sayto new...

大家幫我看一下這是哪款電腦,大家幫我看一下這是哪款電腦? 50

這是華碩的asus k51ac膝上型電腦,是一款低端的型號15.6 1366 x 768 螢幕,cpu採用的 athlon x2 ql 65 記憶體 2 gb ram 硬碟 250 gb hdd 假裝是狐狸 根據速龍處理器以及外觀來看,這檯筆記本應該是華碩的老款筆記本,使用這個cpu的華碩電腦有6款...