ตัวอย่าง # 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++ ก็โอเวอร์โหลด เราใช้คลาสที่ผู้ใช้กำหนดแบบเดียวกันเพื่อสาธิตเมธอดเหล่านี้ทั้งหมด เมื่อคุณดำเนินการตามวิธีการเหล่านี้แล้ว คุณจะสามารถโอเวอร์โหลดตัวดำเนินการเปรียบเทียบเหล่านี้สำหรับคลาสอื่นๆ ที่ผู้ใช้กำหนดได้