問題及**:
/*
* 檔名稱:test.cpp
* 作 者:郝俊宇
* 完成日期:2023年 4 月10 日
* 版 本 號:v1.0
* * 問題描述:下面的程式,因為存在指標型別的資料成員,需要能完成深複製的建構函式。請補充完整建構函式和析構函式(其他不必動)。其中,建構函式要完成下面三個任務:
(1)為各成員函式賦值,按照深複製原則,其中arrayaddr應該是為儲存資料新分配的連續空間的首位址;
(2)myarray(int *a, int n)中,要將a指向的陣列中的數值,逐個地複製到新分配的arrayaddr指向的空間中;
(3)getmax( )函式採取的策略是直接返回max(所以,計算max的工作,由建構函式完成)
* 輸入描述:無
* 程式輸出:對應的結果
*/ #include#include using namespace std;
class myarray
int getvalue(int i); //獲得陣列中下標為i的元素的值
int getlen(); //返回陣列長度
int getmax( ); //返回陣列中的最大值
};myarray::myarray(int *a, int n)
{ int i;
len=n;
arrayaddr=new int [n];
max=a[0];
for(i=0; i
執行結果:
知識點總結:
深複製的應用
學習心得:
開始看題的時候沒有看明白那三個要求是什麼意思,只是知道要用深複製,然後我就看了看老師的參考解答,然後再看題目,才看明白。
第六周專案二 我的陣列類
問題及 檔名稱 我的陣列類 cpp 作 者 白雲飛 完成日期 2015年4月9日 版 本 號 v1.0 問題描述 下面的程式,因為存在指標型別的資料成員,需要能完成深複製的建構函式。請補充完整建構函式和析構函式 其他不必動 其中,建構函式要完成下面三個任務 1 為各成員函式賦值,按照深複製原則,其中...
第六周專案二 我的陣列類
專案2 我的陣列類 下面的程式,因為存在指標型別的資料成員,需要能完成深複製的建構函式。請補充完整建構函式和析構函式 其他不必動 其中,建構函式要完成下面三個任務 1 為各成員函式賦值,按照深複製原則,其中arrayaddr應該是為儲存資料新分配的連續空間的首位址 2 myarray int a,i...
第六周 專案二 我的陣列類
檔名稱 time.cpp 版本號 v1.0 問題描述 下面的程式,因為存在指標型別的資料成員,需要能完成深複製的建構函式。請補充完整建構函式和析構函式 其他不必動 其中,建構函式要完成下面三個任務 1 為各成員函式賦值,按照深複製原則,其中arrayaddr應該是為儲存資料新分配的連續空間的首位址 ...