Lập Trình C++ - Kiểu Enum

Kiểu Enum trong C++

Trong lập trình, đôi khi những kiểu dữ liệu không mang lại ý nghĩa phù hợp với mục đích người lập trình, hoặc tệ hơn có thể làm trở ngại quá trình lập trình. Lấy ví dụ khi ta lưu trữ các ngày trong tuần bằng một biến integer. Ta buộc phải nhớ chính xác bảy giá trị tương tứng với 7 ngày trong tuần. Điều này gây khó khăn cho việc ghi nhớ và phát triển lâu dài. Chúng ta cần một kiểu dữ liệu mới mang lại ý nghĩa rõ ràng hơn.

Cú pháp:

enum <tên enum> { <tên hằng 1>, <tên hằng 2>, ... }
  • Sau từ khóa enum là tên kiểu liệt kê.
  • Bên trong là các hằng số, mỗi một hằng số được cách nhau bằng dấu ','. Riêng hằng số cuối cùng không có dấu ','.
  • Tên hằng không được có khoảng trắng.
  • Kết thúc enum phải có dấu ';'.
  • Có thể tạo giá trị cho hằng số. Nếu hằng số đầu tiên không được gán giá trị, thì giá trị mặc định là 0.

Các ví dụ

Cách khai báo một enum

enum eDayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY };

Sử dụng enum để in ra thứ ngày trong tuần

#include <iostream> using namespace std; enum eDayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }; void PrintScreen(eDayOfWeek day) { switch (day) { case eDayOfWeek::MONDAY: cout << "Now day is a Monday" << endl; break; case eDayOfWeek::TUESDAY: cout << "Now day is a Tuesday" << endl; break; case eDayOfWeek::WEDNESDAY: cout << "Now day is a Wednesday" << endl; break; case eDayOfWeek::THURSDAY: cout << "Now day is a Thursday" << endl; break; case eDayOfWeek::FRIDAY: cout << "Now day is a Friday" << endl; break; case eDayOfWeek::SATURDAY: cout << "Now day is a Saturday" << endl; break; case eDayOfWeek::SUNDAY: cout << "Now day is a Sunday" << endl; break; default: break; } } int main() { eDayOfWeek nowDay = eDayOfWeek::MONDAY; PrintScreen(nowDay); system("pause"); return 0; }

Kết quả:

Now day is a Monday

Thay vì sử dụng biến integer để lưu trữ giá trị, việc sử dụng một enum giúp chúng ta dễ dàng hiểu ý nghĩa của đoạn mã hơn. Thuận lợi cho quá trình phát triển.

Từ khóa » Enum Trong C