Menu
CoddyTech

Implementasi Akun

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C di Coddy. Pelajaran 23 dari 61.

challenge icon

Tantangan

Mudah

Sekarang saatnya menghidupkan Rekening Bank-mu! Kamu sudah membuat antarmuka publik di account.h: sekarang kamu akan mengimplementasikan bagian internal tersembunyi yang membuatnya berfungsi.

Melanjutkan pekerjaanmu sebelumnya, kamu akan menambahkan file sumber yang berisi definisi struct rahasia dan implementasi fungsi yang sebenarnya. Di sinilah enkapsulasi benar-benar terjadi: isi struct hanya ada di file .c, sepenuhnya tidak terlihat oleh siapa pun yang menggunakan library-mu.

Kamu akan bekerja dengan tiga file:

  • account.h: Header yang sudah ada, berisi deklarasi tipe Account opak dan prototipe fungsi untuk create_account dan destroy_account. Pertahankan include guard dengan ACCOUNT_H.
  • account.c: Di sinilah keajaiban terjadi. Definisikan struct Account yang sebenarnya dengan dua anggota tersembunyi: int id (pengenal rekening) dan double balance (dimulai dari 0.0 untuk rekening baru). Implementasikan constructor untuk mengalokasikan memori, menetapkan ID dari parameter, dan menginisialisasi saldo menjadi nol. Implementasikan destructor untuk membebaskan memori dengan benar.
  • main.c: Uji implementasimu dengan membuat rekening dan memastikan semuanya berfungsi. Karena anggota struct tersembunyi, kamu tidak bisa melihat isinya, tetapi kamu bisa memastikan siklus hidupnya berfungsi dengan benar.

Kamu akan menerima satu input: ID rekening (bilangan bulat) untuk ditetapkan ke rekening baru.

Di file main-mu, buat rekening dengan ID yang diberikan, cetak pesan konfirmasi yang menampilkan ID tersebut, lalu hancurkan rekening dan konfirmasikan bahwa pembersihan telah dilakukan.

Cetak output dengan format berikut:

Account 1001 created
Account destroyed

Ganti 1001 dengan ID sebenarnya yang kamu terima sebagai input.

Ingat: main.c-mu tidak dapat mengakses account->id atau account->balance secara langsung. Anggota tersebut sepenuhnya tersembunyi di dalam account.c. Untuk saat ini, kamu hanya akan menggunakan ID dari input untuk pesan output-mu. Dalam pelajaran mendatang, kamu akan menambahkan fungsi getter untuk mengambil data tersembunyi dengan benar.

Coba sendiri

#include <stdio.h>
#include "account.h"

int main() {
    int account_id;
    // TODO: baca account_id dari input
    scanf("%d", &account_id);

    // TODO: buat akun menggunakan create_account() dan cetak "Account <id> created"

    // TODO: hapus akun menggunakan destroy_account() dan cetak "Account destroyed"

    return 0;
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler C online