下面是一個整型陣列類intArray的宣告,請給出該類所有資料成員的類外定義。要求:
(1)能通過對“>>”、“<<”的多載實作陣列元素的直接輸入及其輸出。輸入時,第一次輸入的值為陣列長度,后面連續輸入若干個數作為陣列內容。輸出時,首先提示該陣列元素個數,然后依次輸出該陣列各元素;
(2)多載“=”、“+”、“-” 運算子使之能對兩個陣列類物件進行直接賦值、加減運算。
(3)寫出主函式對該類進行測驗。要求:
1)先構造包含10個陣列元素的陣列物件a,再呼叫流提取運算子多載函式實作a的元素初始化(元素值分別為1—10),輸出a陣列;
2)并利用a來構造陣列b,輸出陣列b,并呼叫get函式獲取b中下標為奇數的各元素值并輸出,然后呼叫set函式將上述元素值乘以2,輸出b陣列;
3)構造一個包含5個元素的陣列c,其值全為1,輸出該陣列,再呼叫ReSize函式將其大小重置為10,呼叫“=”多載函式將a的值復制給c,輸出陣列c;
4)分別將b+c,b-c的值送給陣列d和陣列e,并輸出結果。
class intArray
{public:
intArray(int size);//建構式
intArray(const intArray &x);//復制建構式
~intArray();//解構式
bool Set(int i, int elem);//設定第i個陣列元素的值,設定成功回傳true,失敗回傳false
bool Get(int i, int &elem); //獲取第i個陣列元素的值,獲取成功回傳true,失敗回傳false
int Length( ) const;//獲取陣列的長度
void ReSize ( int size ); //重置陣列
intArray &operator=(const intArray &other); //賦值運算子“=”多載函式
intArray &operator+(const intArray &other); //加運算子“=”多載函式
intArray &operator-(const intArray &other) ; //減運算子“=”多載函式
friend ostream & operator>>(ostream &, intArray &); //陣列的整體輸入
friend ostream & operator<<(ostream &, intArray &); //陣列的整體輸出
private:
int *element; //指向動態陣列的指標
int arraysize; //陣列的當前長度
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/123283.html
標籤:基礎類
上一篇:error: structure has no member named `d_type'怎么解決?
下一篇:如何單步跟蹤進入VCL的代碼中
