Sabtu, 26 September 2009


a
  1. Constructor


Dasar Teori

Pada modul sebelumnya jika area() dipanggil sebelum set_values() hasil indeterminate constructor utk menggantikan set_values()


Fungsi & sifat constructor

  • Fungsi : Untuk memberi nilai awal atribut suatu class.

  • Sifat :

otomatis dijlnkan pada saat objek class diciptakan.

tidak bertipe walaupun void sekalipun , dan tdk punya return value.

nama constructor = nama class


Macam-macam constructor:

  • Default constructor

nilai awal dg konstanta, tanpa parameter

Empty Constructor.

  • Copy constructor

nilai awal dg parameter, terdapat parameter

  • Object copy constructor

nilai awal berdsr nilai angg. objek lain, parameter berupa objek dari class yang sama


Source Code


// classes example

#include

class CRectangle {

int width, height;

public:

CRectangle (int,int);

int area (void) {return (width*height);}

};

CRectangle::CRectangle (int a, int b) {

width = a;

height = b;

}

int main () {

CRectangle rect (3,4);

CRectangle rectb (5,6);

cout << "rect area: " <<>

cout << "rectb area: " <<>

}


Print screen

OVERRIDING

Overriding menyatakan suatu keadaan dimana methodpada subclass melolak method pada parent classnya


Ciri-ciri overriding :

Nama method harus sama

Daftar parameter harus sama

Return type harus sama


Contoh :

Class parent {

System out.print|n(“ini class parent”);

}
class child extends parent {

public void info(){

system out.print|n(“ini class child”)

}


Peraturan pada Overriding :

Method yang terkena Override tidak boleh mempunyai modifer yang lebih luas aksesnya daripada method yang meng override.


Source Code

#include

#include

class a

{

int x,y;

public:

a()

{

x=y=0;

}



a operator++()

{

++x;

++y;

return *this;

}



a operator+(a ob)

{

a temp;

temp.x = x + ob.x;

temp.y = y + ob.y;

return temp;

}



a operator+=(a obj)

{

x +=obj.x;

y +=obj.y;

return * this;

}



void show()

{

cout<<"\nx= "<<<" y= "<

}

friend a operator-( a , a);

friend a operator--( a & );

};



a operator-(a a1,a a2)

{

a temp;

temp.x=a1.x-a2.x;

temp.y=a1.y-a2.y;

return temp;

}





a operator--(a &a1)

{

--a1.x;

--a1.y;

return a1;

}

void main()

{

a a1,a2,a3;

a3.show();

++a1;

++a2;

a3=a2+a1;

a3.show();

--a1;

a3+=a1+a2;

a3.show();

getch();

}


printscreen