#includeusing namespace std;
class array ;
// 建構函式
array::array(int m_length)
// 拷貝建構函式
array::array(const array& obj)
}//析構函式
array::~array()
}//求陣列的長度
int array::length()
// 過載操作符, 函式返回值做左值, 需要返回乙個引用
int& array::operator(int i)
// 執行陣列的深拷貝
array& array::operator=(array a1)
this->m_length = a1.m_length;
this->m_space = new int[a1.m_length];
for (int i = 0; i < a1.m_length; i++)
return *this;
}// 判斷兩個陣列是否相等
bool array::operator==(array& a1)
for (int i = 0; i < a1.m_length; i++)
} return true;
}// 過載 != 運算子, 判斷兩個陣列是否不相等
bool array::operator!=(array& a1)
for (int i = 0; i < a1.m_length; i++)
} return false;
}int main()
cout << "\n列印陣列a1: ";
for (int i = 0; i < a1.length(); i++)
cout << endl;
array a2 = a1;
//cout << "\n列印陣列a2: ";
//for (int i = 0; i < a2.length(); i++)
// //cout << endl;
//3array a3(5);
//array& operator=(array &a1)
} //功能4
if (a3 == a1)
else
//bool operator==(array &a1);
if (a3 != a1)
else
//a3.operator!=(a1)
bool operator!=(array &a1);
cout << "hello..." << endl;
system("pause");
//return;
}
運算子過載案例
不知道怎麼說,直接上 邊看邊說 可以先從主函式看起。運算子過載主要就是3點,乙個當然是運算子過載的編寫,另乙個就是類的建構函式,還有就是 this指標。注意這亮點就行了。還有就是,進來把過載寫成物件導向的形式,不要披著物件導向的皮寫著面向過程的類成員函式。這段函式可以直接複製就跑的起來,在這裡看不清...
C 運算子過載實現陣列相加
第一種方式,物件屬性是指標 include iostream include iomanip include string.h include cmath include algorithm 演算法標頭檔案 using namespace std 利用物件對陣列相加 class group grou...
C 運算子過載的實現
1.怎麼實現運算子過載 1.1 過載的實質 把運算子當作函式去實現另一種功能 1.2 具體實現 函式返回值 operator 運算子 引數 operator 運算子當作函式 2.運算子的分類 2.1 友元過載 友元函式的形式過載 引數個數等於運算元 2.2 類過載 類的成員函式過載 引數個數 運算元...