โอเปอเรเตอร์โอเวอร์โหลดเป็นแนวคิดที่สำคัญใน C ++ เป็นประเภทของความหลากหลายที่ตัวดำเนินการโอเวอร์โหลดเพื่อให้ความหมายที่ผู้ใช้กำหนด โอเปอเรเตอร์โอเวอร์โหลดใช้เพื่อดำเนินการกับชนิดข้อมูลที่กำหนดโดยผู้ใช้ ตัวอย่างเช่น ตัวดำเนินการ '+' อาจโอเวอร์โหลดเพื่อทำการเพิ่มข้อมูลประเภทต่างๆ เช่น Integer, String(concatenation) เป็นต้น
ป้อนข้อมูล
10 20 20 30
ผลผลิต
30 50
คำอธิบาย
ในการบวกเลขสองตัวโดยใช้ตัวดำเนินการ '-' โดยตัวดำเนินการโอเวอร์โหลด ตัวดำเนินการไบนารีจะต้องมีหนึ่งวัตถุเป็นอาร์กิวเมนต์เพื่อให้สามารถดำเนินการได้ หากเราใช้ฟังก์ชัน Friend ที่นี่ จะต้องมีสองอาร์กิวเมนต์
กำลังเรียกใช้ตัวดำเนินการ:ob1-ob2 วัตถุที่อยู่ข้างหน้าตัวดำเนินการจะเรียกใช้ฟังก์ชันและวัตถุหลังจากที่ตัวดำเนินการจะถูกส่งผ่านเป็นอาร์กิวเมนต์ของฟังก์ชัน ดังนั้น ในกรณีนี้ ob1 กำลังเรียกใช้อ็อบเจ็กต์และ ob2 จะถูกส่งต่อเป็นอาร์กิวเมนต์ของฟังก์ชัน
เรากำลังส่งผ่าน 10, 20 เป็นค่าของ x และ y ของ ob1 และ 20, 30 เป็นค่าของ x และ y ของ ob2
ตัวอย่าง
#include <iostream> using namespace std; class sum { public: int x, y, z; void getdata(int a, int b) { x=a; y=b; } void display() { cout<<"\nSum of X:"<<x; cout<<"\nSum of Y:"<<y; } void operator-(sum &); }; void sum::operator-(sum &ob) { x=x+ob.x; y=y+ob.y; display(); } int main() { sum ob1, ob2; ob1.getdata(10,20); ob2.getdata(20,30); ob1-ob2; }