程式:
/*
* 下面的程式,因為存在指標型別的資料成員,需要能完成深複製的建構函式。請補充完整建構函式和析構函式(其他不必動)。
* 其中,建構函式要完成下面三個任務:
*(1)為各成員函式賦值,其中arrayaddr應該是為儲存資料新分配的連續空間的首位址;
*(2)將a指向的陣列中的數值,逐個地複製到新分配的空間中
*(3)getmax( )函式採取的策略是直接返回max,計算max的工作,由建構函式完成
*/#includeusing namespace std;
class a
;a::a(int *a,int n)
}return max;
}int main()
; a r1(b,10);
cout<
結果:
體會:一開始寫這道題的時候,老鼠啃天無處下嘴,試著寫函式的實現,又上面的題的根據深複製的寫法把這道題寫了,後來一看,並沒有自己想的那麼麻煩,就是不敢想,不敢做。。。後面這些知識學起來明顯深奧了,這是我們要成長為高階菜鳥了麼。。。
複製建構函式 淺複製and深複製(2)
複製建構函式 淺複製and深複製 2 cpp 定義控制台應用程式的入口點。本部分介紹1.淺複製的問題 2.如何進行深複製 include stdafx.h include conio.h include iostream using namespace std class array 自定義析構函式...
複製建構函式
今天回看了前面的內容,發現這一章掌握的不夠好,就重看了一遍,順便總結一下 無規律總結 複製建構函式用於複製物件,即可以初始化物件,也可以將複製得到的物件作為實參傳遞給函式,多用於初始化。當我們這樣寫 string null bulk 9 9 9 9 在建立null bulk時編譯器先呼叫string...
複製建構函式
拷貝建構函式的標準寫法如下 class base base const base b 上述寫法見得最多,甚至你認為理所當然。那麼如果我們不寫成引用傳遞呢,而是值傳遞,那麼會怎樣?class base base const base b 編譯出錯 error c2652 base illegal co...