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
Was this helpful?