Pada artikel ini, Anda akan belajar bekerja dengan pencacahan (enum). Selain itu, Anda akan belajar di mana enum biasanya digunakan dalam pemrograman C ++.
Enumerasi adalah tipe data yang ditentukan pengguna yang terdiri dari konstanta integral. Untuk mendefinisikan pencacahan, digunakan kata kunci enum .
musim enum (musim semi, musim panas, musim gugur, musim dingin);
Di sini, nama pencacahannya adalah musim.
Dan, musim semi, musim panas dan musim dingin adalah nilai dari tipe musim.
Secara default, musim semi adalah 0, musim panas 1, dan seterusnya. Anda dapat mengubah nilai default elemen enum selama deklarasi (jika perlu).
musim enum (musim semi = 0, musim panas = 4, musim gugur = 8, musim dingin = 12);
Deklarasi Jenis Enumerated
Saat Anda membuat tipe enumerasi, hanya cetak biru untuk variabel yang dibuat. Inilah cara Anda membuat variabel jenis enum.
enum boolean (false, true); // di dalam function enum boolean check;
Di sini, pemeriksaan tipe variabel enum boolean
dibuat.
Berikut adalah cara lain untuk mendeklarasikan variabel cek yang sama menggunakan sintaks yang berbeda.
cek enum boolean (false, true);
Contoh 1: Jenis Pencacahan
#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; )
Keluaran
Hari 4
Contoh2: Mengubah Nilai Default Enum
#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; )
Keluaran
Musim panas = 4
Mengapa enum digunakan dalam pemrograman C ++?
Variabel enum hanya mengambil satu nilai dari banyak kemungkinan nilai. Contoh untuk mendemonstrasikannya,
#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; )
Keluaran
Ukuran variabel enum 4 byte.
Itu karena ukuran integer adalah 4 byte .;
Ini membuat enum pilihan yang baik untuk bekerja dengan flag.
Anda dapat menyelesaikan tugas yang sama menggunakan struktur C ++. Namun, bekerja dengan enum memberi Anda efisiensi bersama dengan fleksibilitas.
Bagaimana cara menggunakan enum untuk bendera?
Mari kita ambil contoh,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Misalkan Anda sedang mendesain tombol untuk aplikasi Windows. Anda dapat mengatur bendera ITALIKA, BOLD dan UNDERLINE untuk bekerja dengan teks.
Ada alasan mengapa semua konstanta integral adalah pangkat 2 di pseudocode di atas.
// Dalam biner ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Karena, konstanta integral adalah pangkat 2, Anda dapat menggabungkan dua atau lebih flag sekaligus tanpa tumpang tindih menggunakan bitwise OR | operator. Ini memungkinkan Anda memilih dua atau lebih bendera sekaligus. Sebagai contoh,
#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; )
Keluaran
5
Jika outputnya 5, Anda selalu tahu bahwa tebal dan garis bawah digunakan.
Selain itu, Anda dapat menambahkan bendera ke kebutuhan Anda.
if (myDesign & ITALICS) (// kode untuk huruf miring)
Di sini, kami telah menambahkan huruf miring ke desain kami. Catatan, hanya kode untuk huruf miring yang ditulis di dalam pernyataan if.
Anda dapat menyelesaikan hampir semua hal dalam pemrograman C ++ tanpa menggunakan enumerasi. Namun, mereka bisa sangat berguna dalam situasi tertentu. Itulah yang membedakan programmer yang baik dari programmer yang hebat.