ใน C ++ รองรับความหลากหลายเวลาคอมไพล์ ตัวอย่างความแตกต่างของเวลาคอมไพล์ ได้แก่ ฟังก์ชันโอเวอร์โหลดและโอเปอเรเตอร์โอเวอร์โหลด
มีกฎเกณฑ์บางประการสำหรับผู้ดำเนินการโอเวอร์โหลด กฎเหล่านี้เป็นเหมือนด้านล่าง
-
โอเวอร์โหลดได้เฉพาะโอเปอเรเตอร์ในตัวเท่านั้น หากโอเปอเรเตอร์บางตัวไม่มีอยู่ใน C++ เราไม่สามารถโอเวอร์โหลดได้
-
arity ของโอเปอเรเตอร์ไม่สามารถเปลี่ยนแปลงได้
-
ลำดับความสำคัญของโอเปอเรเตอร์ยังคงเหมือนเดิม
-
โอเปอเรเตอร์ที่โอเวอร์โหลดไม่สามารถเก็บพารามิเตอร์เริ่มต้นไว้ได้ ยกเว้นโอเปอเรเตอร์การเรียกฟังก์ชัน “()”
-
เราไม่สามารถโอเวอร์โหลดโอเปอเรเตอร์สำหรับชนิดข้อมูลในตัวได้ ต้องมีประเภทข้อมูลที่กำหนดโดยผู้ใช้อย่างน้อยหนึ่งประเภท
-
การมอบหมาย “=” ตัวห้อย “[]” การเรียกใช้ฟังก์ชัน “()” และตัวดำเนินการลูกศร “->” ตัวดำเนินการเหล่านี้ต้องถูกกำหนดให้เป็นฟังก์ชันของสมาชิก ไม่ใช่ฟังก์ชันของเพื่อน
-
โอเปอเรเตอร์บางตัว เช่น การมอบหมาย “=” ที่อยู่ “&” และเครื่องหมายจุลภาค “” จะถูกโอเวอร์โหลดโดยค่าเริ่มต้น