Pages

Selasa, 19 Oktober 2010

Praktikum 1 Struktur Data

  • Postest
Komponen dari Class adalah 
Konstruktor
Suatu fungsi tanpa return type yang dipanggil secara otomatis setiap kali sebuah objek / kelas dibuat. Hal ini biasa dilakukan untuk proses inisialisasi. Sebuah konstruktor menginisialisasi sebuah objek ketika diciptakan. Memiliki nama yang sama sebagai kelas dan sintaksis mirip dengan fungsi. Namun, konstruktor tidak mempunyai tipe kembali eksplisit.
Data member
Data member  secara umum akan membentuk  pemodelan yang berisi atribut-atribut dari obyek-obyek di dalam dunia nyata, yang menyimpan asosiasi data bersama dengan class atau turunan dari class.
Private
Di dalam sebuah kelas property dan method didefinisikan sebagai private, maka property dan method tersebut tidak dapat diakses oleh kelas lain maupun oleh lingkungan luar, artinya hanya dapat digunakan untuk keperluan kelas itu sendiri. Tingkat akses private ini didefinisikan dengan menggunakan keyword private. Namun pada prakteknya keyword ini jarang dituliskan karena secara default jika tingkat akses tidak dituliskan, maka akan dianggap sebagai private.
Public
Tingkat akses public menyebabkan semua property dan method yang terdapat dalam sebuah kelas dapat diakses oleh kelas lain maupun oleh lingkungan luar. Untuk mendefinisikan property dan method sebagai Public maka digunakan keyword public.
  • Postest :
#include <cstdlib>
#include <iostream>

using namespace std;
class Bilangan {
friend ostream& operator<<(ostream&, const Bilangan&);
friend istream& operator>>(istream&, Bilangan&);
public :
Bilangan(int a0=0, float b0=0.0) : a(a0), b(b0) { }
void banding_int(const Bilangan&, const Bilangan&);
Bilangan& operator=(const Bilangan&);
Bilangan operator+(const Bilangan&) const;
Bilangan operator-()const;
private:
int a;
float b;
};

ostream& operator<<(ostream& out, const Bilangan& x)
{ out << "Bagian integer : " << x.a << endl;
out << "Bagian float : " << x.b << endl;
return out;
}


void Bilangan::banding_int(const Bilangan& x, const Bilangan& y)
{
if (x.a > y.a) cout << x.a << "::x lebih besar dari " << y.a << "::y";
else cout << x.a << "::x lebih kecil dari " << y.a << "::y";
}

Bilangan& Bilangan::operator=(const Bilangan& x)
{ a = x.a;
b = x.b;
return *this;
}
istream& operator>>(istream& in, Bilangan& x)
{
cout <<"\nMasukkan bagian integer : ";
in >> x.a;
cout <<"Masukkan bagian float : ";
in >> x.b;
return in;
}

Bilangan Bilangan::operator+(const Bilangan& x) const
{ Bilangan cc;
cc.a = a + x.a;
cc.b = b + x.b;
return cc;
}

Bilangan Bilangan::operator-() const
{ Bilangan x;
x.a = -a;
x.b = -b;
return x;
}

int main() {
Bilangan s, t(-2,3.14), d;
cout << "Nilai awal s\n" << s; // operator biner << output
cout << "Nilai awal t dari deklarasi\n" << t;
s = t; // operator biner =
cout << "Setelah s di-assign t\n";
cout << "Nilai s\n" << s;
cout << "Masukkan nilai-nilai objek d";
cin >> d; // operator >> input
cout << "Setelah d + t => \n" << d+t; // operator biner +
cout << "Nilai d dinegatifkan\n" << -d; // operator uner -

system("PAUSE");
return 0;
}

2 komentar:

 

SMS FREE

Online

JNE:

Visitor

Flag Counter