Last active
January 22, 2017 00:26
-
-
Save ixn/e594396128d2be0a88ee77e6fe829216 to your computer and use it in GitHub Desktop.
Contoh sangat sederhana enkapsulasi data dengan c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
contoh sangat sederhana enkapsulasi data dengan c | |
more: https://deeprhezy.trumblr.com | |
compile: gcc -o penjumlahan penjumlahan.c internal_api.c | |
*/ | |
#include "internal_api.h" | |
int | |
main(int argc, char *argv[]) | |
{ | |
/* | |
Optional input data | |
int data1=atoi(argv[1]); | |
int data2=atoi(argv[2]); | |
*/ | |
int data1=1; | |
int data2=2; | |
data_t *data = penjumlahan_new(); | |
/* | |
Untuk melakukan set data_t langsung ./-> | |
misalnya: | |
data->data1 = data1; | |
data->data2 = data2; | |
biasanya kalo di compile akan terjadi error "error: dereferencing pointer to incomplete type" | |
*/ | |
/* Untuk melakukan set data harus dengan fungsi set */ | |
penjumlahan_set_angka_1(data, data1); | |
penjumlahan_set_angka_2(data, data2); | |
int jumlah = penjumlahan_proses(data); | |
printf("%i + %i = %i\n",data1,data2,jumlah); | |
/* | |
Tidak bisa mengakses langsung ke data_t dengan ./-> | |
misalnya: | |
printf("data 1 = %i, data 2 = %i\n", data->data1, data->data2); | |
biasanya kalo di compile akan terjadi error "error: dereferencing pointer to incomplete type" | |
*/ | |
/* Untuk melakukan get data harus dengan fungsi get data */ | |
printf("data1 = %i, data2 = %i\n", penjumlahan_get_data1(data), penjumlahan_get_data2(data)); | |
penjumlahan_delete(data); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment