Page 149 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 149
4. Contoh 4 – Program penggunaan protected
KODE PROGRAM BAHASA C
#include <stdio.h>
typedef struct {
int X;
} DASAR;
DASAR DASAR_constructor(int x) {
DASAR obj;
obj.X = x;
return obj;
}
typedef struct {
DASAR base;
int Y;
int hasil;
} TURUNAN;
void TURUNAN_SetY(TURUNAN *self, int YY) {
self->Y = YY;
}
void TURUNAN_KaliXY(TURUNAN *self) {
self->hasil = self->base.X * self->Y;
}
int TURUNAN_GetHasil(TURUNAN *self) {
return self->hasil;
}
int main() {
DASAR A;
TURUNAN B;
B.base = DASAR_constructor(10);
TURUNAN_SetY(&B, 5);
TURUNAN_KaliXY(&B);
printf("\nResult of X multiplied by Y: %d\n", TURUNAN_GetHasil(&B));
return 0;
}
KODE PROGRAM BAHASA C++
#include <iostream>
using namespace std;
// Membuat kelas dasar yang didalamnnya terdapat data bersifat protected
class DASAR {
protected:
int X;
public:
// Inisialisasi nilai X dengan nilai 10
DASAR() {X=10;}
// ...
};
// Membuat kelas TURUNAN yang merupakan turunan dari kelas DASAR
class TURUNAN: public DASAR {
int Y, hasil;
public:
void SetY(int YY) { 126
Y=YY;
}
void KaliXY() {
// Menggunakan nilai X dari kelas DASAR
hasil=X*Y;