c 運算子過載實現陣列案例

2021-09-30 01:33:57 字數 1395 閱讀 8290

#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 類過載 類的成員函式過載 引數個數 運算元...