Rabu, 23 September 2009

TUGAS THR (a.constructor b.overriding)

a.Teori constructor
Pada modul sebelumnya jika area() dipanggil sebelum set_values()  hasil indeterminate  constructor utk menggantikan set_values()
constructor, untuk menciptakan object (instance) baru denganproperty tertentu

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

Contoh source code :
// classes example
#include "iostream.h"
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: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
}

Output




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


b.Teori Override

Override -- Digunakan untuk menandai bahwa method merupakan method yang di-override
dari supperclass atau interface.
compiler akan menampilkan kesalahan jika terjadi kesalahan pada waktu melakukan overriden.

contoh source code
// overloading class constructors
#include "iostream.h"
class CRectangle {
int width, height;
public:
CRectangle ();
CRectangle (int,int);
int area (void) {return (width*height);}
};
CRectangle::CRectangle () {
width = 5;
height = 5;
}
CRectangle::CRectangle (int a, int b) {
width = a;
height = b;
}
int main () {
CRectangle rect (3,4);
CRectangle rectb;
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;
}

output

2 komentar:

  1. Hoe jhee..
    dah slese kamu..
    q lum ne..
    aduh poseennggg...

    BalasHapus
  2. Jhe..
    caranya masukin tu gambar gmn??
    ajarin gw donk..

    BalasHapus