วิธีใช้ C++ Enum:คำแนะนำ
ประเภทที่แจกแจงเป็นชนิดข้อมูลที่ผู้ใช้กำหนด ซึ่งสามารถกำหนดค่าได้หนึ่งค่าจากช่วงของค่า
Enum มักใช้ในการเขียนโปรแกรมเมื่อตัวแปรสามารถเก็บค่าได้เพียงค่าเดียวจากชุดค่าเฉพาะ ตัวอย่างเช่น หากคุณต้องการให้ตัวแปรเก็บเฉพาะวันในสัปดาห์ คุณอาจต้องการใช้การแจงนับ
บทช่วยสอนนี้จะสำรวจ โดยอ้างอิงถึงตัวอย่าง พื้นฐานของการแจงนับใน C++ วิธีกำหนดแจงนับ และวิธีใช้การแจงนับในโค้ดของคุณ เมื่ออ่านบทช่วยสอนนี้จบแล้ว คุณจะเป็นผู้เชี่ยวชาญในการใช้ enums ใน C++
C++ Enum
ชนิดที่แจกแจง หรือที่เรียกว่าชนิด enum ถูกใช้เพื่อสร้างชนิดข้อมูลแบบกำหนดเองที่มีช่วงค่าที่เป็นไปได้คงที่ การแจงนับเป็นประเภทข้อมูลที่ผู้ใช้กำหนด
ในการกำหนด enum ใน C ++ จะใช้คีย์เวิร์ด enum นี่คือไวยากรณ์สำหรับการกำหนด enum ใน C++:
enum name { firstValue, secondValue, thirdValue, fourthValue };
เรามาแบ่งไวยากรณ์นี้เป็นส่วนประกอบหลักกัน:
- enum สั่งให้โค้ดของเราสร้างการแจงนับ
- ชื่อ เป็นชื่อที่กำหนดในการแจกแจงของเรา
- ค่าแรกสุด , ค่าที่สอง , ค่าที่สาม และ ค่าที่สี่ เป็นค่าที่กำหนดให้กับการแจงนับของเรา ค่าเหล่านี้อยู่ในชุดวงเล็บปีกกา ({})
นอกจากนี้ คุณยังสามารถเปลี่ยนค่าเริ่มต้นของคลาส enum ดังนั้น หากคุณต้องการให้ค่ามีชื่อเป็นของตัวเอง คุณสามารถทำได้โดยกำหนดค่าเริ่มต้นใหม่ให้กับรายการในการแจงนับ นี่คือรหัสที่เราสามารถใช้ทำงานนี้ให้สำเร็จ:
enum name { firstValue = 0, secondValue = 1 }
ในไวยากรณ์นี้ enum ของเรามีสองค่า ค่า firstValue มีค่า 0 และค่า secondValue มีค่า 1
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
Enum มีประโยชน์เพราะช่วยให้คุณกำหนดค่าที่เป็นไปได้ที่ตัวแปรสามารถเก็บได้ชัดเจนยิ่งขึ้น ตัวอย่างเช่น หากคุณต้องการให้ตัวแปรเก็บเฉพาะวันในสัปดาห์ การประกาศ enum จะทำให้โค้ดของคุณชัดเจนขึ้นว่าตัวแปรควรเก็บได้เฉพาะวันในสัปดาห์เท่านั้น
ประกาศ Enum
สมมติว่าเรากำลังสร้างแอปพลิเคชันที่อนุญาตให้แคชเชียร์ที่ร้านโดนัทบันทึกคำสั่งซื้อแต่ละรายการที่ทำการสั่งซื้อและคำนวณต้นทุนของโดนัท
ร้านของเราขายโดนัทในจำนวนจำกัด ดังนั้นเราจึงต้องการให้แคชเชียร์บันทึกคำสั่งซื้อโดนัทในสินค้าคงคลังของเราเท่านั้น โดนัทที่เราต้องการให้โปรแกรมดำเนินการ ได้แก่ ราสเบอร์รี่ สตรอเบอร์รี่ ผง ช็อกโกแลต และอบเชย
นี่เป็นตัวอย่างที่สมบูรณ์แบบของตำแหน่งที่ enum อาจมีประโยชน์ เราต้องการจำกัดโปรแกรมของเราเพื่อให้สามารถดำเนินการตามคำสั่งซื้อในรสชาติดังกล่าวได้ ดังนั้นการใช้ enum จึงเป็นความคิดที่ดี นี่คือรหัสที่เราสามารถใช้ประกาศ C++ enum:
enum flavors { Raspberry, Strawberry, Powdered, Chocolate, Cinnamon }
ในรหัสของเรา เราประกาศ enum ที่เรียกว่ารสชาติ ซึ่งมีค่าที่เป็นไปได้ห้าค่า ดังนั้น เมื่อเราพยายามกำหนดค่าตัวแปรจาก enum นี้ ค่าเดียวที่ตัวแปรจะสามารถจัดเก็บได้คือค่าที่ประกาศไว้ใน enum ของเรา
หากเราต้องการประกาศตัวแปรที่สามารถเก็บค่าจากรสชาติ enum ของเราเท่านั้น เราก็สามารถใช้ไวยากรณ์นี้ได้:
enum flavors orderFlavor.
ตัวแปร orderFlavor ที่เราเพิ่งประกาศสามารถเก็บค่าใน enum รสชาติเท่านั้น
การใช้ Enum
ตอนนี้เราได้ทำการประกาศ enum แล้ว เราก็สามารถใช้มันในโค้ดของเราได้ กลับไปที่ตัวอย่างร้านโดนัทเพื่อแสดงให้เห็นว่าเราจะใช้ enum ในโปรแกรม C++ ได้อย่างไร
สมมติว่าเรากำลังสร้างโปรแกรมที่ช่วยให้แคชเชียร์ร้านโดนัทของเราบันทึกคำสั่งซื้อแต่ละรายการได้ แคชเชียร์เพิ่งได้รับคำสั่งซื้อโดนัทราสเบอร์รี่ และเราต้องการสร้างคำสั่งซื้อโดนัทราสเบอร์รี่ในโปรแกรมของเรา เราสามารถทำได้โดยใช้รหัสนี้:
#include <iostream> using namespace std; enum flavors { Raspberry, Strawberry, Powdered, Chocolate, Cinnamon } int main() { enum flavors orderFlavor; orderFlavor = Raspberry; cout << "Donut ordered: 1x " << orderFlavor; }
รหัสของเราส่งคืน:
Donut ordered: 1x Raspberry
มาทำลายรหัสของเรากัน ขั้นแรก เราได้ประกาศ enum ที่เรียกว่ารสชาติ ซึ่งจัดเก็บรสชาติที่มีขายที่ร้านโดนัท
จากนั้น เราประกาศตัวแปรที่เรียกว่า orderFlavor ซึ่งจะคอยติดตามประเภทของโดนัทที่ลูกค้าสั่ง ตัวแปรนี้สามารถเก็บค่าใน enum รสชาติเท่านั้น ในโค้ดบรรทัดถัดไป เรากำหนดค่าตัวแปร orderFlavor enum เป็น Raspberry
ต่อไป เราพิมพ์ Donut ordered: 1x
ไปยังคอนโซล ตามด้วยค่าที่เก็บไว้ในตัวแปร orderFlavor
ในตัวอย่างนี้ คุณจะเห็นว่าการใช้ enum ทำให้โค้ดของเราอ่านง่ายขึ้น การใช้ enum เป็นที่ชัดเจนว่าตัวแปร orderFlavor สามารถเก็บค่าใน enum รสชาติเท่านั้น หากเรากำลังทำงานในโปรแกรมที่ซับซ้อนกว่านี้ ประโยชน์ของการใช้ enum จะยิ่งชัดเจนขึ้น เนื่องจากจะมีตัวแปรอื่นๆ ที่เราจำเป็นต้องพิจารณามากขึ้น
การเปลี่ยนค่า Enum เริ่มต้น
นอกจากนี้เรายังสามารถกำหนดค่าเริ่มต้นเฉพาะให้กับ enum ได้ ตัวอย่างเช่น สมมติว่าเราต้องการสร้างโปรแกรมที่ส่งคืนราคาโดนัทหนึ่งๆ เนื่องจากลูกค้าสามารถสั่งซื้อโดนัทได้จำนวนจำกัด เราจึงต้องการใช้ enum
เราสามารถใช้รหัสต่อไปนี้เพื่อสร้าง enum ที่เก็บทั้งรสชาติโดนัทและราคาได้:
#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; }
รหัสของเราส่งคืน:
Donut price: $2.00
ในตัวอย่างนี้ เราได้กำหนดค่าเริ่มต้นแต่ละค่าใน enum ของเราเป็นค่าเริ่มต้น
ซึ่งหมายความว่า เมื่อเราอ้างอิงค่าใน enum ค่าดีฟอลต์จะปรากฏขึ้นแทนชื่อของค่า ดังนั้นเมื่อเราอ้างอิงช็อคโกแลต 1.90 จะถูกส่งคืน; เมื่อเราอ้างอิงอบเชย 2.20 จะถูกส่งคืน
ในโปรแกรมหลักของเรา ขั้นแรกเราจะประกาศตัวแปรที่เรียกว่า orderPrice ซึ่งใช้ราคา enum เพื่อจำกัดค่าที่เป็นไปได้ จากนั้นเรากำหนดค่าตัวแปร orderPrice ให้กับ Raspberry ในราคา enum
ในบรรทัดถัดไป เราพิมพ์คำสั่ง Donut price: $
ไปที่คอนโซล ตามด้วยราคาที่เก็บไว้ในตัวแปร orderPrice ในกรณีนี้ ลูกค้าสั่งโดนัทราสเบอร์รี่ราคา $2.00 ดังนั้นรหัสของเราจึงส่งคืน Donut price: $2.00
บทสรุป
ชนิดข้อมูล enum ใช้เพื่อสร้างชนิดของข้อมูลที่สามารถเก็บเฉพาะชุดค่าคงที่เท่านั้น ตัวอย่างเช่น การแจงนับที่เก็บฤดูกาลจะเก็บเฉพาะฤดูใบไม้ผลิ ฤดูร้อน ฤดูใบไม้ร่วง และฤดูหนาวเท่านั้น Enum มีประโยชน์เมื่อตัวแปรสามารถเก็บค่าได้เพียงค่าเดียวที่มีอยู่ในชุดค่าเฉพาะ
บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงถึงตัวอย่าง วิธีสร้าง enum ใน C++ วิธีใช้ enum และวิธีเปลี่ยนค่าเริ่มต้นที่จัดเก็บโดย enum ตอนนี้คุณมีความรู้ในการเริ่มใช้ enums ใน C++ แล้ว!