Menu
Coddy logo textTech

Hesabın Oluşturulması

Coddy'nin C Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 23 / 61.

challenge icon

Görev

Kolay

Şimdi Banka Hesabınızı hayata geçirme zamanı! account.h dosyasında genel arayüzü zaten oluşturdunuz; şimdi onu çalıştıran gizli iç yapıyı uygulayacaksınız.

Önceki çalışmanızın üzerine inşa ederek, gizli struct tanımını ve gerçek fonksiyon uygulamalarını içeren kaynak dosyasını ekleyeceksiniz. Kapsüllemenin (encapsulation) gerçekten gerçekleştiği yer burasıdır; struct gövdesi yalnızca .c dosyasında bulunur ve kütüphanenizi kullanan hiç kimse tarafından görülemez.

Üç dosya ile çalışacaksınız:

  • account.h: Opak Account türü bildirimi ile create_account ve destroy_account fonksiyon prototiplerini içeren mevcut başlık dosyanız. ACCOUNT_H ile include guard'larınızı koruyun.
  • account.c: Sihrin gerçekleştiği yer burasıdır. İki gizli üyeye sahip gerçek struct Account yapısını tanımlayın: int id (hesap tanımlayıcı) ve double balance (yeni hesaplar için 0.0'dan başlar). Bellek ayırmak, ID'yi parametreden ayarlamak ve bakiyeyi sıfıra sıfırlamak için constructor'ınızı (yapıcı) uygulayın. Belleği düzgün bir şekilde serbest bırakmak için destructor'ınızı (yıkıcı) uygulayın.
  • main.c: Bir hesap oluşturarak ve çalıştığını onaylayarak uygulamanızı test edin. Struct üyeleri gizli olduğu için içine bakamazsınız, ancak yaşam döngüsünün doğru çalıştığını doğrulayabilirsiniz.

Bir girdi alacaksınız: yeni hesaba atanacak account ID (bir tam sayı).

Ana dosyanızda, sağlanan ID ile bir hesap oluşturun, ID'yi gösteren bir onay mesajı yazdırın, ardından hesabı yok edin ve temizliği onaylayın.

Çıktıyı şu formatta yazdırın:

Account 1001 created
Account destroyed

Burada 1001, girdi olarak aldığınız gerçek ID ile değiştirilir.

Unutmayın: main.c dosyanız account->id veya account->balance değerlerine doğrudan erişemez; bu üyeler account.c içinde tamamen gizlidir. Şimdilik, çıktı mesajınız için sadece girdiden gelen ID'yi kullanacaksınız. Gelecek derslerde, gizli verileri düzgün bir şekilde almak için getter fonksiyonları ekleyeceksiniz.

Kendin dene

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

int main() {
    int account_id;
    // YAPILACAK: account_id değerini girdiden oku
    scanf("%d", &account_id);

    // YAPILACAK: create_account() kullanarak bir hesap oluşturun ve "Account <id> created" yazdırın

    // YAPILACAK: destroy_account() kullanarak hesabı yok edin ve "Account destroyed" yazdırın

    return 0;
}

Object Oriented Programming bölümündeki tüm dersler