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

การบวกเลขสองตัวโดยใช้ตัวดำเนินการ '-'?


โอเปอเรเตอร์โอเวอร์โหลดเป็นแนวคิดที่สำคัญใน 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;
}