1784 整型陣列運算子過載

2021-09-20 18:43:21 字數 998 閱讀 5657

定義array類:

1.擁有資料成員int length和int *mems,分別是陣列中元素的個數和元素列表。

2. 無參建構函式,將mems設定為null,length為0。

3. 過載==運算子,用於判斷兩個array物件是否相等。相等包括兩種情況:(1)兩個物件是同乙個物件,即它們擁有相同的位址(記住: this指標指向當前物件,是當前物件的位址);(2)兩個物件的length相同,且mems中對應元素的值相同。其他情況均為不相等。

4. 利用友元函式過載《和》運算子。輸入、輸出格式見下。

輸入分多行。

第一行是乙個正整數m,表示有m個陣列。

每個陣列是一行,其中第乙個非負整數n表示該陣列的元素個數,之後有n個整數。

輸出有m行。

第一行輸出即為第乙個陣列。

自第二行開始,首先輸出對應的陣列元素(兩兩之間用空格隔開,首尾不能有空格),如果陣列為空,則不輸出元素。之後根據這個陣列與上個陣列是否相同,輸出「unequal to above.」(不相等)和「equal to above」(相等)。

3 1 2 3

3 1 2 3

7 1 2 3 4 5 6 7

7 1 2 3 4 5 6 8

1 2 3 1 2 3 equal to above.

unequal to above.

1 2 3 4 5 6 7 unequal to above.

1 2 3 4 5 6 8 unequal to above.

#include using namespace std;

class array

bool operator==(array &a)

return is;

}~array()

};int main()

cout

else

}return 0;

}

Problem D 整型陣列運算子過載

定義array類 1.擁有資料成員int length和int mems,分別是陣列中元素的個數和元素列表。2.無參建構函式,將mems設定為null,length為0。3.過載 運算子,用於判斷兩個array物件是否相等。相等包括兩種情況 1 兩個物件是同乙個物件,即它們擁有相同的位址 記住 th...

運算子過載之過載型別運算子

普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...

運算子過載 賦值運算子的過載

有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...