ตัวดำเนินการเปรียบเทียบโอเวอร์โหลด C++ ใน

Taw Danein Kar Periyb Theiyb Xowexr Hold C Ni



การโอเวอร์โหลดตัวดำเนินการเป็นแนวคิดที่สำคัญใน C++ ที่ช่วยให้คุณบรรลุฟังก์ชันการทำงานของตัวดำเนินการในตัวในขณะที่ทำงานกับชนิดข้อมูลที่ผู้ใช้กำหนด ตัวดำเนินการเปรียบเทียบในภาษา C++ คือตัวดำเนินการเปรียบเทียบค่าสองค่าระหว่างกัน เช่น “==”, “!=”, “>”, “<”, “>=” และ “<=” บทความนี้จะแบ่งปันวิธีการโอเวอร์โหลดตัวดำเนินการเปรียบเทียบทั้งหกเหล่านี้ใน C ++ ใน Ubuntu 20.04

ตัวอย่าง # 1: การโอเวอร์โหลดตัวดำเนินการ '==' ใน C ++:

สำหรับการโอเวอร์โหลดตัวดำเนินการ '==' ใน C++ เราได้ออกแบบคลาส C++ ต่อไปนี้:







ชื่อคลาส C++ ของเราคือ ProductPrice ภายในคลาสนี้ เรามี 'ราคา' สำหรับสมาชิกส่วนตัว หลังจากนั้นเราก็มีฟังก์ชั่นสาธารณะบางอย่าง ฟังก์ชันแรกชื่อ “userInput” รับราคาสินค้าเป็นอินพุตจากผู้ใช้ จากนั้น เรามีฟังก์ชันสำหรับการโอเวอร์โหลดตัวดำเนินการ '==' ใน C++ เราได้ส่งวัตถุของคลาส ProductPrice ไปยังฟังก์ชันนี้แล้ว ภายในฟังก์ชันนี้ เรามีคำสั่ง 'if' ที่จะส่งกลับ 'จริง' หากราคาของผลิตภัณฑ์ทั้งสองเท่ากัน มิฉะนั้นจะเป็น 'เท็จ'



เพื่อทดสอบสิ่งนี้ เรามีฟังก์ชั่นไดรเวอร์ที่แสดงในภาพด้านล่าง:







ในฟังก์ชัน “main()” ของเรา เราได้สร้างออบเจกต์ของคลาสขึ้นมาสองออบเจกต์ก่อน จากนั้น เราได้เรียกใช้ฟังก์ชัน “userInput” กับแต่ละอ็อบเจกต์สองตัวทีละตัวเพื่อรับราคาของผลิตภัณฑ์ทั้งสองเป็นอินพุตจากผู้ใช้ หลังจากนั้น เรามีคำสั่ง “if” เพื่อพิมพ์ข้อความหากราคาทั้งสองเท่ากัน และอีกข้อความหนึ่งหากไม่

เรารวบรวมโปรแกรมนี้โดยใช้คำสั่งต่อไปนี้:



$ ก++ ComparisonOperator.cpp –o ตัวดำเนินการเปรียบเทียบ

จากนั้นเราดำเนินการโดยใช้คำสั่งที่แสดงด้านล่าง:

$ . / ตัวดำเนินการเปรียบเทียบ

เมื่อดำเนินการโค้ดนี้ เราถูกขอให้ป้อนราคาของผลิตภัณฑ์แรกดังที่แสดงในภาพต่อไปนี้:

จากนั้นเราถูกขอให้ป้อนราคาของผลิตภัณฑ์ที่สองดังภาพด้านล่าง:

เนื่องจากเราป้อนราคาเดียวกันสำหรับผลิตภัณฑ์ทั้งสอง เราจึงเห็นผลลัพธ์ต่อไปนี้ว่าตัวดำเนินการ '==' ของเราโอเวอร์โหลดเรียบร้อยแล้ว

ตอนนี้ เพื่อทดสอบสำหรับคำสั่ง 'อื่น ๆ ' เราได้ป้อนราคาผลิตภัณฑ์ที่แตกต่างกันสองราคา ดังที่แสดงในภาพด้านล่าง:

ตัวอย่าง # 2: การโอเวอร์โหลดตัวดำเนินการ “!=” ใน C++:

สำหรับการโอเวอร์โหลดตัวดำเนินการ “!=” ใน C++ เราได้ออกแบบคลาส C++ ต่อไปนี้:

โปรแกรมนี้ดูเหมือนตัวอย่างแรกของเรามาก ข้อแตกต่างเพียงอย่างเดียวคือเราได้แทนที่ตัวดำเนินการ '==' ด้วยตัวดำเนินการ '!=' ทุกที่

เพื่อทดสอบสิ่งนี้ เรามีฟังก์ชั่นไดรเวอร์ที่แสดงในภาพด้านล่าง:

เราได้เรียกฟังก์ชัน “userInput” ในฟังก์ชัน “main()” ของเรากับแต่ละอ็อบเจกต์สองตัวทีละตัวเพื่อรับราคาของผลิตภัณฑ์ทั้งสองเป็นอินพุตจากผู้ใช้ หลังจากนั้น เรามีคำสั่ง 'if' เพื่อพิมพ์ข้อความหากราคาทั้งสองไม่เท่ากัน และอีกข้อความหนึ่งหากราคาเท่ากัน

เมื่อเราดำเนินการรหัสนี้กับราคาผลิตภัณฑ์ที่แตกต่างกันสองรายการ เราพบว่าตัวดำเนินการอสมการของเราได้รับการโอเวอร์โหลดเรียบร้อยแล้ว ดังที่คุณเห็นจากภาพต่อไปนี้:

ตอนนี้ เพื่อทดสอบสำหรับคำสั่ง 'อื่น ๆ ' เราได้ป้อนราคาผลิตภัณฑ์ที่คล้ายคลึงกันสองรายการดังที่แสดงในภาพด้านล่าง:

ตัวอย่าง # 3: การโอเวอร์โหลดตัวดำเนินการ “>” ใน C ++:

สำหรับการโอเวอร์โหลดตัวดำเนินการ “>” ใน C++ เราได้ออกแบบคลาส C++ ต่อไปนี้:

โปรแกรมนี้ยังคล้ายกับตัวอย่างของเราด้านบน ข้อแตกต่างเพียงอย่างเดียวคือเราได้แทนที่ตัวดำเนินการ “!=” ด้วยตัวดำเนินการ “>” ทุกที่

เพื่อทดสอบสิ่งนี้ เรามีฟังก์ชั่นไดรเวอร์ที่แสดงในภาพด้านล่าง:

เราได้เรียกฟังก์ชัน “userInput” ในฟังก์ชัน “main()” ของเรากับแต่ละอ็อบเจกต์สองตัวทีละตัวเพื่อรับราคาของผลิตภัณฑ์ทั้งสองเป็นอินพุตจากผู้ใช้ หลังจากนั้น เรามีคำสั่ง 'if' เพื่อพิมพ์ข้อความหากราคาแรกสูงกว่าราคาอื่น และพิมพ์ข้อความอื่นหากไม่ใช่

เมื่อเราดำเนินการโค้ดนี้ด้วยราคาผลิตภัณฑ์ที่แตกต่างกันสองรายการ เราพบว่าตัวดำเนินการที่มากกว่าของเราได้รับการโอเวอร์โหลดเรียบร้อยแล้ว ดังที่คุณเห็นจากภาพต่อไปนี้:

ตอนนี้ เพื่อทดสอบสำหรับคำสั่ง 'อื่น ๆ ' เราได้ป้อนราคาผลิตภัณฑ์ที่คล้ายคลึงกันสองรายการดังที่แสดงในภาพด้านล่าง:

ตัวอย่าง # 4: การโอเวอร์โหลดตัวดำเนินการ “<” ใน C++:

สำหรับการโอเวอร์โหลดตัวดำเนินการ “<” ใน C++ เราได้ออกแบบคลาส C++ ต่อไปนี้:

โปรแกรมนี้ยังคล้ายกับตัวอย่างของเราด้านบน ข้อแตกต่างเพียงอย่างเดียวคือเราได้แทนที่ตัวดำเนินการ “>” ด้วยตัวดำเนินการ “<” ทุกที่

เพื่อทดสอบสิ่งนี้ เรามีฟังก์ชั่นไดรเวอร์ที่แสดงในภาพด้านล่าง:

เราได้เรียกฟังก์ชัน “userInput” ในฟังก์ชัน “main()” ของเรากับแต่ละอ็อบเจกต์สองตัวทีละตัวเพื่อรับราคาของผลิตภัณฑ์ทั้งสองเป็นอินพุตจากผู้ใช้ หลังจากนั้น เรามีคำสั่ง “if” เพื่อพิมพ์ข้อความหากราคาแรกน้อยกว่าราคาอื่น และพิมพ์ข้อความอื่นหากไม่ใช่

เมื่อเราดำเนินการโค้ดนี้ด้วยราคาผลิตภัณฑ์ที่แตกต่างกันสองรายการ เราพบว่าตัวดำเนินการน้อยกว่าของเราได้รับการโอเวอร์โหลดเรียบร้อยแล้ว ดังที่คุณเห็นจากภาพต่อไปนี้:

ในตอนนี้ เพื่อทดสอบสำหรับคำสั่ง “else” เราได้ป้อนราคาผลิตภัณฑ์สองรายการที่แตกต่างกันอีกครั้ง แต่คราวนี้ ราคาของผลิตภัณฑ์ชิ้นแรกมากกว่าราคาที่สอง ดังที่แสดงในภาพด้านล่าง:

ตัวอย่าง # 5: การโอเวอร์โหลดตัวดำเนินการ “>=” ใน C++:

สำหรับการโอเวอร์โหลดตัวดำเนินการ “>=” ใน C++ เราได้ออกแบบคลาส C++ ต่อไปนี้:

สิ่งนี้แตกต่างจากตัวอย่างของเราด้านบนเล็กน้อย ในขณะที่โอเวอร์โหลดโอเปอเรเตอร์ในครั้งนี้ เรามีเงื่อนไข 2 ข้อภายในคำสั่ง 'if' ที่คั่นด้วย '||' เครื่องหมาย. หมายความว่าคำสั่งนี้จะตรวจสอบว่าราคาของผลิตภัณฑ์มากกว่าหรือเท่ากับราคาอื่นหรือไม่

เพื่อทดสอบสิ่งนี้ เรามีฟังก์ชั่นไดรเวอร์ที่แสดงในภาพด้านล่าง:

เราได้เรียกฟังก์ชัน “userInput” ในฟังก์ชัน “main()” ของเรากับแต่ละอ็อบเจกต์สองตัวทีละตัวเพื่อรับราคาของผลิตภัณฑ์ทั้งสองเป็นอินพุตจากผู้ใช้ หลังจากนั้น เรามีคำสั่ง 'if' เพื่อพิมพ์ข้อความหากราคาแรกมากกว่าหรือเท่ากับราคาอื่น และอีกข้อความหนึ่งหากไม่ใช่

เมื่อเราดำเนินการรหัสนี้กับราคาผลิตภัณฑ์ที่แตกต่างกันสองรายการ เราพบว่าตัวดำเนินการที่มากกว่าหรือเท่ากับของเราได้รับการโอเวอร์โหลดเรียบร้อยแล้ว ดังที่คุณเห็นจากภาพต่อไปนี้:

ตอนนี้ เพื่อทดสอบสำหรับคำสั่ง 'else' เราได้ป้อนราคาผลิตภัณฑ์แรกให้น้อยกว่าราคาที่สอง ดังที่แสดงในภาพด้านล่าง:

ตัวอย่าง # 6: การโอเวอร์โหลดตัวดำเนินการ “<=” ใน C++:

ทำตามวิธีเดียวกับตัวอย่างที่ห้า เรายังโอเวอร์โหลดตัวดำเนินการ “<=” และรหัสของมันมีดังนี้:

ผลการดำเนินการของโปรแกรมนี้ด้วยค่าต่างๆ จะแสดงในรูปด้านล่าง:

บทสรุป:

บทความนี้อธิบายได้เป็นอย่างดีว่าคุณจะโอเวอร์โหลดตัวดำเนินการเปรียบเทียบหกตัวใน C ++ ใน Ubuntu 20.04 ได้อย่างไร เราเริ่มต้นด้วยการแนะนำสั้น ๆ เกี่ยวกับโอเปอเรเตอร์โอเวอร์โหลด จากนั้นโอเปอเรเตอร์เปรียบเทียบทั้งหกตัวใน C++ ก็โอเวอร์โหลด เราใช้คลาสที่ผู้ใช้กำหนดแบบเดียวกันเพื่อสาธิตเมธอดเหล่านี้ทั้งหมด เมื่อคุณดำเนินการตามวิธีการเหล่านี้แล้ว คุณจะสามารถโอเวอร์โหลดตัวดำเนินการเปรียบเทียบเหล่านี้สำหรับคลาสอื่นๆ ที่ผู้ใช้กำหนดได้