Computer >> Máy Tính >  >> Lập trình >> C ++

C ++ Enum

Cách sử dụng C ++ Enum:Hướng dẫn

Kiểu liệt kê là kiểu dữ liệu do người dùng xác định có thể được gán một giá trị từ một dải giá trị.

Enums thường được sử dụng trong lập trình khi một biến chỉ có thể lưu trữ một giá trị trong số một tập giá trị cụ thể. Ví dụ:nếu bạn muốn một biến chỉ lưu trữ các ngày trong tuần, bạn có thể muốn sử dụng kiểu liệt kê.

Hướng dẫn này sẽ khám phá, với tham chiếu đến các ví dụ, khái niệm cơ bản về kiểu liệt kê trong C ++, cách xác định kiểu liệt kê và cách sử dụng kiểu liệt kê trong mã của bạn. Khi kết thúc việc đọc hướng dẫn này, bạn sẽ trở thành chuyên gia sử dụng enums trong C ++.

C ++ Enum

Kiểu liệt kê, còn được gọi là kiểu enum, được sử dụng để tạo kiểu dữ liệu tùy chỉnh có phạm vi giá trị có thể cố định. Liệt kê là một kiểu dữ liệu do người dùng xác định.

Để định nghĩa một enum trong C ++, từ khóa enum được sử dụng. Đây là cú pháp để xác định một enum trong C ++:

enum name {
	firstValue, secondValue, thirdValue, fourthValue
};

Hãy chia cú pháp này thành các thành phần chính của nó:

  • enum hướng dẫn mã của chúng tôi để tạo một bảng liệt kê.
  • tên là tên được chỉ định cho bảng liệt kê của chúng tôi.
  • Giá trị đầu tiên , secondValue , giá trị thứ ba Giá trị thứ tư là các giá trị được gán cho kiểu liệt kê của chúng ta. Các giá trị này được bao trong một tập hợp các dấu ngoặc nhọn ({}).

Ngoài ra, bạn cũng có thể thay đổi giá trị mặc định của một lớp enum. Vì vậy, nếu bạn muốn một giá trị có tên riêng, bạn có thể làm như vậy bằng cách gán cho mục nhập của nó trong bảng liệt kê một giá trị mặc định mới. Đây là mã chúng tôi có thể sử dụng để hoàn thành nhiệm vụ này:

enum name {
	firstValue = 0,
	secondValue = 1
}

Trong cú pháp này, enum của chúng ta chứa hai giá trị. Giá trị FirstValue có giá trị 0 và giá trị SecondValue có giá trị 1.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia chương trình đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Enums rất hữu ích vì chúng cho phép bạn xác định rõ ràng hơn các giá trị tiềm năng mà một biến có thể giữ. Ví dụ:nếu bạn chỉ muốn một biến lưu trữ các ngày trong tuần, việc khai báo một enum sẽ làm rõ trong mã của bạn rằng biến đó chỉ có thể lưu trữ các ngày trong tuần.

Khai báo một Enum

Giả sử chúng ta đang tạo một ứng dụng cho phép nhân viên thu ngân tại một cửa hàng bánh rán ghi lại từng đơn hàng đã được đặt và tính giá thành của chiếc bánh rán.

Cửa hàng của chúng tôi chỉ bán một số loại bánh donut có hạn và vì vậy chúng tôi chỉ muốn nhân viên thu ngân có thể ghi nhận các đơn đặt hàng bánh rán trong kho của chúng tôi. Bánh rán mà chúng tôi muốn chương trình của mình chế biến là:Raspberry, Strawberry, Powder, Chocolate và Cinnamon.

Đây là một ví dụ hoàn hảo về nơi một enum có thể hữu ích. Chúng tôi muốn giới hạn chương trình của mình để có thể xử lý các đơn đặt hàng theo các hương vị đã nói ở trên, và do đó, sử dụng một enum là một ý tưởng hay. Đây là mã chúng ta có thể sử dụng để khai báo một enum C ++:

enum flavors {
	Raspberry, Strawberry, Powdered, Chocolate, Cinnamon
}

Trong mã của chúng tôi, chúng tôi khai báo một enum được gọi là mùi vị có năm giá trị tiềm năng. Vì vậy, khi chúng ta cố gắng gán cho một biến một giá trị từ enum này, các giá trị duy nhất mà biến có thể lưu trữ là những giá trị được khai báo trong enum của chúng ta.

Nếu chúng ta muốn khai báo một biến chỉ có thể giữ các giá trị từ enum flavour của chúng ta, chúng ta có thể sử dụng cú pháp sau:

enum flavors orderFlavor.

Biến orderFlavor mà chúng ta vừa khai báo chỉ có thể lưu trữ các giá trị trong enum flavour.

Sử dụng Enum

Bây giờ chúng ta đã thực hiện khai báo enum, chúng ta có thể sử dụng nó trong mã của mình. Hãy quay lại ví dụ về cửa hàng bánh rán để minh họa cách chúng ta có thể sử dụng enum trong chương trình C ++.

Giả sử chúng ta đang xây dựng một chương trình cho phép nhân viên thu ngân cửa hàng bánh rán của chúng ta ghi lại từng đơn hàng. Nhân viên thu ngân vừa nhận được đơn đặt hàng bánh rán mâm xôi và chúng tôi muốn tạo đơn đặt hàng bánh rán mâm xôi trong chương trình của mình. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

#include <iostream>

using namespace std;

enum flavors {
	Raspberry, Strawberry, Powdered, Chocolate, Cinnamon
}

int main() {
	enum flavors orderFlavor;
	orderFlavor = Raspberry;
	cout << "Donut ordered: 1x " << orderFlavor;
}

Mã của chúng tôi trả về:

Donut ordered: 1x Raspberry

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi đã khai báo một enum có tên là hương vị lưu trữ hương vị được bán tại cửa hàng bánh rán.

Sau đó, chúng tôi khai báo một biến có tên orderFlavor theo dõi loại bánh rán mà khách hàng đã đặt. Biến này chỉ có thể lưu trữ các giá trị trong enum hương vị. Trên dòng mã tiếp theo, chúng tôi gán cho biến enum orderFlavor giá trị Raspberry.

Tiếp theo, chúng tôi in ra Donut ordered: 1x vào bảng điều khiển, theo sau là giá trị được lưu trữ trong biến orderFlavor.

Trong ví dụ này, bạn có thể thấy rằng việc sử dụng enum làm cho mã của chúng ta dễ đọc hơn. Bằng cách sử dụng một enum, rõ ràng là biến orderFlavor chỉ có thể lưu trữ các giá trị trong enum hương vị. Nếu chúng tôi đang làm việc trên một chương trình phức tạp hơn, lợi ích của việc sử dụng enums sẽ càng rõ ràng hơn, vì sẽ có nhiều biến số hơn mà chúng tôi cần tính đến.

Thay đổi giá trị Enum mặc định

Ngoài ra, chúng ta cũng có thể gán enums một giá trị mặc định cụ thể. Ví dụ:giả sử chúng ta muốn xây dựng một chương trình trả về giá của một chiếc bánh rán cụ thể. Vì có một số lượng hạn chế bánh rán mà khách hàng có thể đặt, nên chúng tôi muốn sử dụng enum.

Chúng tôi có thể sử dụng mã sau để tạo một enum lưu trữ cả hương vị bánh rán của chúng tôi và giá cả của chúng:

#include <iostream>

using namespace std;

enum prices {
	Raspberry = 2.00,
Strawberry = 2.00,
Powdered = 1.75,
Chocolate = 1.90,
Cinnamon = 2.20
}

int main() {
	enum prices orderPrice;
	orderPrice = Raspberry;
	cout << "Donut price: $" << orderPrice;
}

Mã của chúng tôi trả về:

Donut price: $2.00

Trong ví dụ này, chúng tôi đã gán cho mỗi giá trị trong enum của chúng tôi một giá trị mặc định.

Điều này có nghĩa là, khi chúng ta tham chiếu một giá trị trong enum của mình, giá trị mặc định của nó sẽ xuất hiện thay vì tên của giá trị đó. Vì vậy, khi chúng tôi tham chiếu Chocolate, 1,90 sẽ được trả về; khi chúng tôi tham chiếu Cinnamon, 2,20 sẽ được trả lại.

Trong chương trình chính của chúng ta, trước tiên chúng ta khai báo một biến gọi là orderPrice, biến này sử dụng enum giá để hạn chế các giá trị có thể có của nó. Sau đó, chúng tôi chỉ định biến orderPrice giá trị được liên kết với Raspberry trong enum giá của chúng tôi.

Trên dòng tiếp theo, chúng tôi in câu lệnh Donut price: $ vào bảng điều khiển, theo sau là giá được lưu trữ trong biến orderPrice. Trong trường hợp này, khách hàng đã đặt một chiếc bánh rán mâm xôi có giá 2,00 đô la, Vì vậy, mã của chúng tôi đã trả về Donut price: $2.00

Kết luận

Kiểu dữ liệu enum được sử dụng để tạo một kiểu dữ liệu chỉ có thể lưu trữ một tập giá trị cố định. Ví dụ, một bảng liệt kê lưu trữ các mùa sẽ chỉ lưu trữ mùa xuân, mùa hè, mùa thu và mùa đông. Enums hữu ích khi một biến chỉ có thể lưu trữ một giá trị tồn tại trong một tập giá trị cụ thể.

Hướng dẫn này đã thảo luận, có tham chiếu đến các ví dụ, cách tạo một enum trong C ++, cách sử dụng một enum và cách thay đổi các giá trị mặc định được lưu trữ bởi một enum. Bây giờ bạn đã có bí quyết để bắt đầu sử dụng enum trong C ++!