定義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 ...