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;
   144   145   146   147   148   149   150   151   152   153   154