Dalam artikel ini, anda akan belajar bekerja dengan penghitungan (enum). Anda juga akan mengetahui di mana enum biasanya digunakan dalam pengaturcaraan C ++.
Penghitungan adalah jenis data yang ditentukan pengguna yang terdiri daripada pemalar integral. Untuk menentukan penghitungan, kata kunci enum digunakan.
musim enum (musim bunga, musim panas, musim luruh, musim sejuk);
Di sini, nama penghitungan adalah musim.
Dan, musim bunga, musim panas dan musim sejuk adalah nilai jenis musim.
Secara lalai, musim bunga adalah 0, musim panas adalah 1 dan seterusnya. Anda boleh mengubah nilai lalai elemen enum semasa pengisytiharan (jika perlu).
musim enum (musim bunga = 0, musim panas = 4, musim luruh = 8, musim sejuk = 12);
Pengisytiharan Jenis Bilangan
Apabila anda membuat jenis yang dihitung, hanya cetak biru untuk pemboleh ubah yang dibuat. Inilah cara anda boleh membuat pemboleh ubah jenis enum.
enum boolean (salah, benar); // fungsi dalaman enum boolean check;
Di sini, pemeriksaan jenis berubah enum boolean
dibuat.
Berikut adalah cara lain untuk menyatakan pemboleh ubah cek yang sama menggunakan sintaks yang berbeza.
cek enum boolean (salah, benar);
Contoh 1: Jenis Penghitungan
#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; )
Pengeluaran
Hari ke-4
Contoh2: Menukar Nilai Lalai Jumlah
#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; )
Pengeluaran
Musim panas = 4
Mengapa enum digunakan dalam pengaturcaraan C ++?
Pemboleh ubah enum hanya mengambil satu nilai daripada banyak nilai yang mungkin. Contoh untuk menunjukkannya,
#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; )
Pengeluaran
Saiz pemboleh ubah enum 4 bait.
Ini kerana ukuran bilangan bulat adalah 4 bait .;
Ini menjadikan enum pilihan yang baik untuk bekerja dengan bendera.
Anda boleh menyelesaikan tugas yang sama menggunakan struktur C ++. Walau bagaimanapun, bekerja dengan enum memberi anda kecekapan bersama dengan fleksibiliti.
Bagaimana menggunakan enum untuk bendera?
Mari kita ambil contoh,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Katakan anda merancang butang untuk aplikasi Windows. Anda boleh menetapkan bendera ITALIK, BOLD dan BAWAH untuk berfungsi dengan teks.
Terdapat sebab mengapa semua pemalar integral adalah kekuatan 2 di atas pseudocode.
// Dalam binari ITALIK = 00000001 BOLD = 00000010 BAWAH = 00000100
Oleh kerana pemalar integral adalah kekuatan 2, anda boleh menggabungkan dua atau lebih bendera sekaligus tanpa bertindih menggunakan bitwise ATAU | pengendali. Ini membolehkan 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; )
Pengeluaran
5
Apabila outputnya 5, anda selalu tahu bahawa garis tebal dan garis bawah digunakan.
Anda juga boleh menambahkan bendera untuk keperluan anda.
jika (myDesign & ITALICS) (// kod untuk huruf miring)
Di sini, kami telah menambahkan huruf miring pada reka bentuk kami. Perhatikan, hanya kod untuk huruf miring yang ditulis di dalam pernyataan if.
Anda boleh menyelesaikan hampir semua perkara dalam pengaturcaraan C ++ tanpa menggunakan penghitungan. Walau bagaimanapun, mereka boleh menjadi sangat berguna dalam situasi tertentu. Itulah yang membezakan pengaturcara yang baik dari pengaturcara yang hebat.