Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

C++ Enum

วิธีใช้ 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++ แล้ว!