02.07.2013 Views

rekayasa perangkat lunak jilid 2 smk - Bursa Open Source

rekayasa perangkat lunak jilid 2 smk - Bursa Open Source

rekayasa perangkat lunak jilid 2 smk - Bursa Open Source

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

oo-test.cpp:28: error: `CPolygon' is not an accessible base<br />

of `CTriangle'<br />

Mengapa kesalahan kompilasi bisa terjadi? Hal ini karena berlakunya<br />

aturan di atas. Method set_values pada kelas CPolygon dideklarasikan dengan<br />

public, tetapi diturunkan ke kelas CTriangle dengan private. Hal ini akan<br />

merubah method yang semula public menjadi private ketika berada pada kelas<br />

CTriangle. Tentunya kalian ingat bila anggota kelas diberi hak akses private<br />

maka dia tidak dapat diakses dari luar.<br />

9.4.3. Polimorfisme<br />

Pada C++, untuk dapat menerapkan polimorfisme maka kita perlu<br />

menggunakan fungsi khusus yang dikenal sebagai fungsi virtual. Fungsi ini kita<br />

letakkan pada superclass, kemudian fungsi tersebut dapat kita definisikan ulang<br />

pada subclass. Perhatikan contoh berikut.<br />

Contoh 9.29. Penggunaan fungsi virtual.<br />

#include <br />

using namespace std;<br />

class AnggotaSekolah {<br />

char* nama;<br />

char* alamat;<br />

public:<br />

void SetNama(char* N) {<br />

nama = N;<br />

}<br />

void SetAlamat(char* A) {<br />

alamat = A;<br />

}<br />

char* GetNama() {<br />

return nama;<br />

}<br />

char* GetAlamat() {<br />

return alamat;<br />

}<br />

// Membuat fungsi virtual<br />

virtual void Bekerja() {<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!