1.18 Enums

C++'da enum (enumeration), bir değişkenin alabileceği sabit değerler kümesini tanımlamak için kullanılan bir veri türüdür. Enum'lar, kodun okunabilirliğini artırmak ve belirli bir grup sabit değeri daha anlamlı bir şekilde kullanmak için idealdir.

Enum Tanımlama

Enum, enum anahtar kelimesi ile tanımlanır. Enum tanımı, bir isim ve belirli sabit değerlerden oluşur.

Örnek: Basit Enum Tanımı

#include <iostream>
using namespace std;

// Enum tanımı
enum Color {
    RED,
    GREEN,
    BLUE
};

int main() {
    // Enum değişkeni tanımlama
    Color favoriteColor;

    // Değeri atama
    favoriteColor = GREEN;

    // Enum değerini yazdırma
    cout << "Favori renk: " << favoriteColor << endl; // 1 yazdırır çünkü GREEN 1'dir

    return 0;
}

Enum ile Özel Değerler Atama

Enum değerlerine özel değerler atayabilirsiniz. Bu, belirli bir değeri temsil etme ihtiyacınıza göre özelleştirme sağlar.

Örnek: Özel Değerler Atama

#include <iostream>
using namespace std;

// Enum tanımı
enum Status {
    PENDING = 1,
    IN_PROGRESS = 2,
    COMPLETED = 3
};

int main() {
    // Enum değişkeni tanımlama
    Status taskStatus;

    // Değeri atama
    taskStatus = IN_PROGRESS;

    // Enum değerini yazdırma
    cout << "Görev durumu: " << taskStatus << endl; // 2 yazdırır

    return 0;
}

Enum Kullanımının Avantajları

  • Okunabilirlik: Kodunuzu daha anlamlı hale getirir. Sayısal değerlerin yerine açıklayıcı isimler kullanmak, kodu daha okunabilir kılar.

  • Sabit Değerler: Enum'lar, belirli bir grup sabit değerle çalışmanızı sağlar, böylece hatalı değer atama olasılığını azaltır.

Enum'lar ile Switch İfadesi Kullanımı

Enum'lar, switch ifadesi ile birlikte kullanıldığında daha etkili bir kontrol yapısı sağlar.

Örnek: Enum ile Switch İfadesi Kullanımı

#include <iostream>
using namespace std;

// Enum tanımı
enum Direction {
    NORTH,
    SOUTH,
    EAST,
    WEST
};

int main() {
    Direction myDirection = EAST;

    switch (myDirection) {
        case NORTH:
            cout << "Kuzeye gidiyorsunuz." << endl;
            break;
        case SOUTH:
            cout << "Güneye gidiyorsunuz." << endl;
            break;
        case EAST:
            cout << "Doğuya gidiyorsunuz." << endl;
            break;
        case WEST:
            cout << "Batıya gidiyorsunuz." << endl;
            break;
        default:
            cout << "Bilinmeyen yön." << endl;
    }

    return 0;
}

Last updated