0Pricing
C++ Academy · Ders

struct ve class: Hangisi Ne Zaman Kullanılmalı

struct ile class arasındaki tek gerçek farkı anlayın ve kurallara uygun kullanım biçimlerini uygulayın

struct ve class: Hangisi Ne Zaman Kullanılmalı, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

Aynı Mekanizma, Farklı Varsayılanlar

C++'ta struct ve class neredeyse özdeştir. Dil düzeyindeki tek fark, varsayılan erişim belirleyicisidir.

Yapı: Varsayılan Olarak Herkese Açık

Bir struct içinde üyeler, aksi belirtilmedikçe herkese açıktır.

struct Point {
    int x;
    int y;
};  // x and y are public

Sınıf: Varsayılan Olarak Özel

Bir class içinde üyeler, herkese açık olarak belirtilmedikçe özeldir.

class Counter {
    int n_ = 0;       // private
public:
    void increment() { n_++; }
    int  value() const { return n_; }
};

Yalnızca Söz Dizimi Değil, Bir Kural

C++ topluluğu, niyeti belirtmek için iki anahtar sözcüğü kullanır:

  • struct — pasif veri (POD benzeri, tümü herkese açık)
  • class — kapsüllenmiş davranış (özel durum ve herkese açık arayüz)

Yapı Ne Zaman Kullanılır

Düz veri toplulukları için struct kullanın: koordinatlar, RGB renkleri, basit kayıtlar.

struct Point { int x; int y; };
struct Color { unsigned char r, g, b, a; };
struct Person { std::string name; int age; };

Sınıf Ne Zaman Kullanılır

Korunması gereken değişmez koşullarınız olduğunda, durum yöntemlerle değiştiğinde veya kapsüllemeye ihtiyaç duyduğunuzda class kullanın.

class BankAccount {
    double balance_ = 0.0;   // protected invariant
public:
    void deposit(double amount);
    bool withdraw(double amount);
    double balance() const;
};

Toplu Başlatma

Yalnızca herkese açık üyeleri olan yapılar, küme ayraçları söz dizimiyle — değerler bildirim sırasına göre listelenerek — başlatılabilir.

struct Point { int x; int y; };
Point p1{3, 4};      // aggregate init
Point p2{.x = 3, .y = 4};   // designated init (C++20)

inheritance da Farklıdır

inheritance, struct için varsayılan olarak herkese açık, class için ise varsayılan olarak özeldir. Emin olmadığınızda bunu açıkça belirtin.

class B {};
struct D1 : B {};         // public inheritance
class D2 : B {};          // private inheritance

Karma Üyeler

Varsayılanlar farklı olsa da her iki anahtar sözcük de public, private ve protected bölümlerini kullanabilir.

struct Config {
private:
    int internalCount = 0;
public:
    std::string name;
    void incrementCount() { ++internalCount; }
};

Anahtar Sözcüğe Göre Kodu Okuma

Bir struct gördüğünüzde veri alanları bekleyin. Bir class gördüğünüzde kapsüllenmiş mantık bekleyin. Anahtar sözcüğü, yazarın niyetine dair bir ipucu olarak değerlendirin.

Stil Kılavuzları

Çoğu stil kılavuzu (Google, LLVM, ISO C++ Core), değişmez koşullar içermeyen pasif topluluklar için yalnızca struct kullanılmasını önerir. Önemsiz olmayan yöntemleri olan her şey class olur.

Hızlı Kontrol

C++'ta struct ile class arasındaki dil düzeyindeki tek fark nedir?

Özet

Düz veri toplulukları için struct, değişmez koşulları ve davranışı olan türler için class kullanın. Dil açısından tek fark varsayılan erişimdir — ancak kural gereği bunlar çok farklı amaçlarla kullanılır.

Sıkça Sorulan Sorular

“struct ve class: Hangisi Ne Zaman Kullanılmalı” dersi ücretsiz mi?

Evet — “struct ve class: Hangisi Ne Zaman Kullanılmalı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“struct ve class: Hangisi Ne Zaman Kullanılmalı” dersinde ne öğreneceğim?

struct ile class arasındaki tek gerçek farkı anlayın ve kurallara uygun kullanım biçimlerini uygulayın C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“struct ve class: Hangisi Ne Zaman Kullanılmalı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. struct ve class: Hangisi Ne Zaman Kullanılmalı
  2. Üye Değişkenler ve Metotlar
  3. Yapıcılar ve Üye Başlatıcı Listeleri
  4. this İşaretçisi ve Kapsülleme
← C++ Academy Sayfasına Dön