C ++ Numaralandırma

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 booleanoluş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.

Ilginç makaleler...