C中關於類中臨時物件的問題

2021-03-04 04:41:13 字數 764 閱讀 8249

1樓:匿名使用者

這個臨時物件是a(1000)產生的,

並不是a作為臨時物件,a(1000)產生的物件又賦值給了a,臨時回物件用完就答

析構了。臨時物件一般是怎麼產生的呢,比如說你呼叫一個函式void fun(test a);假設我們這樣呼叫 fun(b);當呼叫的時候,往裡傳的這個b並不是真正的b,而是它會複製出一個和b一樣的物件,然後供這個函式使用,b不會因為函式裡邊東西的執行而改變,它複製出的這個和b一樣的東西就是臨時物件,函式執行完畢後進行析構。

臨時物件是什麼?

2樓:匿名使用者

在c++中,有三種情況會產生臨時物件:

(1)值參,如 int fun(int lhs, int rhs);

(2)const引用,如

(3)隱式轉換,如 void fun(string & rhs);

呼叫時: fun("sgsdgsd");

或者:char *str = "sgsdg";

fun(str);

呼叫時都會生成一個string型別的臨時物件。

3樓:匿名使用者

應該是作為函式引數傳入的時候的臨時生成的物件吧。

4樓:匿名使用者

就是當呼叫函式時,計算機臨時建立一個物件.並且在此函式結束時,會把此臨時物件返回並登出它在計算機中所佔空間.

關於c派生類中虛擬函式的問題,C 已經在派生類中重定義了抽象類中的純虛擬函式,為什麼還不讓我用派生類定義物件!?

如果是虛擬函式的話,在派生類中重新定義其函式體時,不會導致同名覆蓋.當用基類指標指向派生類物件並呼叫虛擬函式時,執行的是在派生類中重新定義的虛擬函式的函式體.虛擬函式必須要在基類用virtual修飾才能為虛擬函式,派生類若重定義該函專數,則無論是否有屬virtual關鍵字都是虛擬函式。你要判斷派生類...

C 中類的例項名(或物件名)是什麼

陣列名對bai應樓梯首臺階,對du象名對應一座山,臺階zhi 有順序dao,有一個首臺階,版便可 依次 上去,權山的結構雜亂無章,條條道路通峰頂,首地址對他一個入山口無法代表整座山,乾脆擴充套件一下讓它代表整座山,生活中表意詞語形形色色,程式語言也應該能有一點跟的山生活吧 我也沒有bai 好好思考這...

在C 中,我的問題關於 基類有同名成員引起的二義性這個知識點

我來試著回答一下,大家看看是不是這樣 1.原本語句列印 在a1中 這個應該不用解釋,這個時候只有a1中存在print方法。2.增加a2 print 函式後,由於a2繼承a1所以a2 print 函式覆蓋 overwritten a1 print 函式,所以這種情況下,對於a2及a2的所有子類的例項來...