Array dan pointer of class
Maksud dari array of class disini adalah class yang memiliki object dengan bentuk array.
Dalampembuatannya ada beberapa aturan yang harus dipenuhi agar program yang dibuat tidak error, yaitu dengan memperhatikan hal hal sebagai berikut:
Array bersifat statis, dan perlu deklarasi berulang kali jika kita memiliki construktor dengan parameter.
Contoh penggunakan array of class yang benar :
#include
using namespace std;
class cl
{
Private :
int i;
public:
void set_i(int j) { i=j; }
int get_i() { return i; }
};
int main()
{
cl ob[3]; // tidak di inisialisasi
int i;
for(i=0; i<3;>
for(i=0; i<3;>
cout <<>
return 0;
}
Program ini akan jalan tanpa error.
Jadi, dalam pembuatan sebuah array of class kita harus memperhatikan kalau ada array yang perlu dideklarasikan pada awal pembuatannya, ada juga yang tidak perlu di deklarasikan dahulu. Seperti contoh diatas, array sbgai object disana tidak perlu dideklarasikan. Berikuti ini adalah contoh programya g memerlukan pendeklarasian dalam pembuata n array of object.
#include
using namespace std;
class cl {
private :
int h;
int i;
public:
cl(int j, int k) { h=j; i=k; } // constructor with 2 parameters
int get_i() {return i;}
int get_h() {return h;}
};
int main()
{
cl ob[3] = {
cl(1, 2), // initialize
cl(3, 4),
cl(5, 6)
};
int i;
for(i=0; i<3;>
{
cout <<>
cout << ", ";
cout <<>
}
return 0;
}
Dalam program ini kita perlu untuk mendeklarasikan array object class cl, karna constructor yang dibuat adalah constructor dengan 2 perameter. Untuk menghindari error,kita juga dapat membuat sebuah constructor yang tidak memiliki parameter(default constructor).
Selain itu kita juga dapat menggunakan copy constructor, yaitu dengan mengoverloading constructor dengan format sebagai berikut:
Nama_class(const nama_class &);
Biasanya cara ini digunakan dalam membuat operator overloading, yaitu membuat operator menjadi beberapa fungsi yang dapat digunakan, contoh:
Operator overloading:
Const array & operator(const array &);
Equality operator :
Bool operator == (const array &)const;
Inequality operator :
Bool operator != (const array &)const
{return ! (this == right);}
~ Pointer of Class~
Pointer sebagai Data Members
• Pointers tdk dpt di-initialized dalam class declaration
• Normally, Initialized pada derived class constructor
Penggunaan pointers to class data members
• Umumnya melalui function yg menggunakan pointers to class data members
• sebagai debuging function yg meng-access 2 bytes pertama dari data member tiap object & mengambil nilainya

0 komentar:
Posting Komentar