Tipe Data Abstrak Array Satu Dimensi Dinamis
Kelas array satu dimensi dinamis
template<class T>
class Array1D {
friend ostream& operator<< (ostream&, const Array1D<T>&);
public:
Array1D(int size = 0);
Array1D(const Array1D<T>& v);
~Array1D() {delete [] element;}
T& operator[](int i) const;
int Size() {return size;}
Array1D<T>& operator=(const Array1D<T>& v);
Array1D<T> operator+() const;
Array1D<T> operator+(const Array1D<T>& v) const;
Array1D<T> operator-() const;
Array1D<T> operator-(const Array1D<T>& v) const;
Array1D<T> operator*(const Array1D<T>& v) const;
Array1D<T>& operator+=(const T& x);
Array1D<T>& ReSize(int sz);
private:
int size;
T *element;
};
Penjelasan:
Kelas Array1D mempunyai private data member 2 buah yaitu size bertipe int
(19), yang menyatakan banyak elemen dari array, dan pointer element yang menyatakan array itu sendiri (20). Banyaknya elemen array element ditentukan
berdasarkan size.
Konstruktor array satu dimensi
template<class T>
Array1D<T>::Array1D(int sz)
{
size = sz;
element = new T[sz];
}
Penjelasan:
Konstruktor kelas Array1D ukurannya ditentukan dari luar kelas sebesar sz
(2) yang di-assign ke data member size (4), kemudian dipesan memori sebanyak sz
untuk array element (5).
Tidak ada komentar:
Posting Komentar