Overloading operator & Overload operator penugasan
template<class T>
T& Array1D<T>::operator[](int i) const
{
return element[i];
}
template<class T>
Array1D<T>& Array1D<T>::operator=(const Array1D<T>& v)
{
if (this != &v) {
size = v.size;
delete [] element;
element = new T[size];
for (int i = 0; i < size; i++)
element[i] = v.element[i];
}
return *this;
}
Operator = pada dasarnya berfungsi untuk menyalin semua elemen dari array
v (2) ke array yang lain, dalam hal ini diwakili this. Jika v bukan dirinya sendiri (4)
maka proses penyalinan akan dilaksanakan. Langkah pertama, ukuran dari v disalin
(5). Elemen lama (bila ada) dibebaskan (6). Kemudian dipesan memori sebesar ukuran
size untuk array element (dalam hal ini yang ditunjuk pointer this) (7). Setelah itu
baru disalin elemen demi elemen (8) setiap elemen array v ke elemen array this (9).
Pointer this dikembalikan (11).
Tidak ada komentar:
Posting Komentar