運算子的過載

2021-08-10 14:46:17 字數 1358 閱讀 2873

明天就要c++考試了,今天來複習一下運算子的過載。

主要是對乙個陣列類進行操作。我會分別對+、++(前置及後置)、[ ] 以及《和》進行過載。

其中,除了《和》,我使用的是成員函式對其進行過載,而《和》只能用友元函式。

#include using namespace std;  

class array;

array::array()

array::array(int a,int b,int c,int d,int e)

array array::operator+(array &x)

array array::operator-(array &x)

array &array::operator++()

array &array::operator++(int)

void array::show()

int array::operator (int i)

istream &operator>>(istream &in, array &x)

ostream &operator<<(ostream &out, array &x)

int main(){

array a, b;

cout << "陣列a:";

cin >> a;

cout << "陣列b:";

cin >> b;

array c=a+b;

cout << "*************" << endl;

cout << "+的過載..." << endl;

cout << "陣列c=a+b:";

cout << c;

cout << "*************" << endl;

cout << "後置++的過載" << endl;

cout << c++;

cout << "前置++的過載" << endl;

cout << ++c;

cout << "*************" << endl;

cout << "的過載" << endl; cout << "c[0]=" << c[0] << " " << "c[4]=" << c[4] <

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

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

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

下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...

運算子過載限制 不能過載的運算子

1.過載後的運算子必須至少有乙個操作符是使用者定義的型別。2.使用運算子不能違反運算子原來的句法規則。3.不能新建運算子 4.不能過載 sizeof const cast,dynamic cast,reinterpret cast,static cast 5.只能通過成員函式過載的運算子 限制說明 ...