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
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