Class pada c++

Class pada c++

 Halo guys,, gimana kabar coding nya ? hehehe,,, kali ini kita akan belajar tentang class pada c++. Deklarasi dan definisi adalah langkah awal dalam setiap penulisan program tidak terkecuali dalam bahasa C++. Deklarasi dan definisi diperlukan untuk semua tipe data termasuk tipe data bentukan user (user-defined type).

Bentuk sederhana deklarasi class adalah sebagai berikut,

 

class C { };

atau

struct C { };

 

dalam bahasa C++

struct dan classmempunyai pengertian yang sama. Deklarasi class dengan struct mempunyai anggota dengan akses public kecuali jika dinyatakan lain.

struct C {

int i;

 void f();

}

 

class C {

public:

 int i;

void f();

 }

Kedua deklarasi tersebut memiliki arti yang sama.

class class_name {

permission_label_1:

member1;

permission_label_2:

member2;

} object_name;

Dimana class_name adalah nama class(user defined type) dan field optional object_name adalah  satu  atau  beberapa  identifier  objek  yang  valid.  Body dari deklarasi  berisikan members, yang dapat berupa data ataupun deklarasi fungsi, dan permission labels (optional), dapat berupa satu dari tiga keyword berikut : private:, public: atau protected:.

 Digunakan untuk menentukan batasan akses terhadap members yang ada :

•  private , anggota class dapat diakses dari anggota lain pada kelas yang sama atau dari class “friend”.

•  protected , anggota dapat diakses dari anggota class yang sama atau class friend , dan juga dari anggota class turunannya(derived).

•  public , anggota dapat diakses dari class manapun.( Default permission label  : private).

Contoh :

class CRectangle {

int x, y;

public:

void set_values (int,int);

int area (void);

} rect;

 

Deklarasi class  CRectangle dan object bernama  rect. Class ini berisi empat anggota: dua  variable  bertipe  int (x and  y)  pada  bagian  private (karena  private  adalah  default permission) dan  dua  fungsi pada  bagian  public :  set_values() dan  area(),  dimana  hanya dideklarasikan propotype_nya.

 

Pada contoh sebelumnya

CRectangle adalah nama class(contoh, user-defined type), dan rect adalah object dari tipe

CRectangle. Sama halnya dengan deklarasi berikut       :

int a;

int adalah nama class (type) dan a adalah nama object(variable).

 

Contoh program sederhana 1 :

#include <iostream.h>

class CRectangle {

int x, y;

public:

void set_values (int,int);

int area (void) {return (x*y);}

};

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

x = a;

y = b;

}

int main () {

CRectangle rect;

rect.set_values (3,4);

cout << “Area: ” << rect.area();

}

Output :

Area: 12

 

Ada 2 permission label dalam class CRectangle yakni:

·         Fungsi set_value() didefinisikan diluar class sehingga harus menggunakan tanda scope ::

·         Fungsi Area() dideklarasikan di dalam class

 

 

 

 

 

 

 

Contoh  2 :

// class example
#include <iostream.h>

Using namespace std;


class CRectangle {
int x, y;
public:
void set_values (int,int);
int area (void) {return (x*y);}
};
void CRectangle::set_values (int a, int b) {
x = a;
y = b;
}
int main () {
CRectangle rect, rectb;
rect.set_values (3,4);
rectb.set_values (5,6);
cout << "Rect area: " << rect.area() << endl;
cout << "Rectb area: " << rectb.area() << endl;

}

Output :

Rect area : 12

Rectb area : 30

 

Contoh no 2 sama dengan contoh no1 ,, hanya saja ditambah dengan beberapa objek sekaligus.

 

Contoh 3 :

Include <iostream>

#include <conio.h>
class p_panjang {
public:
int p,l;
int luas()
{return (p*l);}
};
main() {
p_panjang a;
a.p=5;
a.l=9;
cout<<"Luas = "<<a.luas();
getch();

 

Output :

Luas = 45

 

·         Permision yang digunakan adalah public.

·         a adalah bagian struct dari class p­_panjang

 

contoh modifikasi 3 :

 

agar bisa di input dari keyboard,

 

sehingga program menjadi :


#include <iostream.h>
#include <conio.h>
class p_panjang {
public:
int p,l;
int luas()
{return (p*l);}
};
main() {
p_panjang a;
cout<<"Panjang = ";cin>>a.p;
cout<<"Lebar = ";cin>>a.l;
cout<<"Luas = "<<a.luas();
getch();
}

Output :

Panjang = 3

Lebar     = 4

Luas       =12

 

 

Sama dengan contoh 3, hanya saja ditambah syntax cin agar dapat di input dari keyboard.

 


EmoticonEmoticon