Bu makalede, numaralandırma (enum) ile çalışmayı öğreneceksiniz. Ayrıca, numaralandırmaların C ++ programlamada yaygın olarak nerede kullanıldığını da öğreneceksiniz.
Numaralandırma, integral sabitlerden oluşan kullanıcı tanımlı bir veri türüdür. Bir numaralandırma tanımlamak için, anahtar kelime enum kullanılır.
enum mevsimi (ilkbahar, yaz, sonbahar, kış);
Burada numaralandırmanın adı mevsimdir.
İlkbahar, yaz ve kış mevsimi yazın değerleridir.
Varsayılan olarak, ilkbahar 0, yaz 1'dir vb. Bildirim sırasında bir enum öğesinin varsayılan değerini değiştirebilirsiniz (gerekirse).
enum mevsimi (ilkbahar = 0, yaz = 4, sonbahar = 8, kış = 12);
Numaralandırılmış Tip Beyanı
Numaralandırılmış bir tür oluşturduğunuzda, yalnızca değişken için taslak oluşturulur. İşte enum türünde değişkenleri nasıl yaratabileceğiniz.
enum boolean (yanlış, doğru); // işlev listesi içinde boole kontrolü;
Burada, değişken bir tür denetimi enum boolean
oluşturulur.
İşte aynı kontrol değişkenini farklı sözdizimi kullanarak bildirmenin başka bir yolu.
enum boolean (yanlış, doğru) kontrol;
Örnek 1: Numaralandırma Türü
#include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; )
Çıktı
4. gün
Örnek2: Enumların Varsayılan Değerini Değiştirme
#include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )
Çıktı
Yaz = 4
C ++ programlamasında neden numaralandırmalar kullanılır?
Bir enum değişkeni, birçok olası değerden yalnızca bir değer alır. Göstermek için örnek,
#include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; )
Çıktı
Numaralandırma değişkeni 4 bayt boyutu.
Bunun nedeni bir tamsayının boyutunun 4 bayt olmasıdır .;
Bu, numaralandırmayı bayraklarla çalışmak için iyi bir seçim yapar.
C ++ yapılarını kullanarak aynı görevi gerçekleştirebilirsiniz. Ancak, numaralandırmalarla çalışmak size esnekliğin yanı sıra verimlilik sağlar.
Bayraklar için numaralandırma nasıl kullanılır?
Bir örnek ele alalım,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Windows uygulaması için bir düğme tasarladığınızı varsayalım. ITALICS, BOLD ve UNDERLINE bayraklarını metinle çalışması için ayarlayabilirsiniz.
Yukarıdaki sözde kodda tüm integral sabitlerinin 2'nin gücü olmasının bir nedeni vardır.
// İkili ITALICS'te = 00000001 BOLD = 00000010 UNDERLINE = 00000100
İntegral sabitleri 2'nin gücü olduğundan, iki veya daha fazla bayrağı bitsel OR | Şebeke. Bu, aynı anda iki veya daha fazla bayrak seçmenize izin verir. Örneğin,
#include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; )
Çıktı
5
Çıktı 5 olduğunda, her zaman kalın ve altı çizili olduğunu bilirsiniz.
Ayrıca gereksinimlerinize bayrak ekleyebilirsiniz.
if (myDesign & ITALICS) (// italik için kod)
Burada tasarımımıza italik yazı ekledik. Dikkat, sadece italik için kod if ifadesinin içine yazılır.
Numaralandırma kullanmadan C ++ programlamada hemen hemen her şeyi başarabilirsiniz. Ancak, bazı durumlarda oldukça kullanışlı olabilirler. İyi programcıları harika programcılardan ayıran şey budur.