明天就要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.只能通過成員函式過載的運算子 限制說明 ...