मान लीजिए कि हमारे पास वास्तविक और काल्पनिक भाग के साथ एक जटिल संख्या वर्ग है। हमें दो सम्मिश्र संख्याओं को जोड़ने के लिए अतिरिक्त (+) ऑपरेटर को ओवरलोड करना होगा। हमें सम्मिश्र संख्या को उचित प्रतिनिधित्व में वापस करने के लिए एक फ़ंक्शन को भी परिभाषित करना होगा।
इसलिए, यदि इनपुट c1 =8 - 5i, c2 =2 + 3i जैसा है, तो आउटपुट 10 - 2i होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
+ ऑपरेटर को ओवरलोड करें और तर्क के रूप में एक और जटिल संख्या c2 लें
-
एक सम्मिश्र संख्या को परिभाषित करें जिसे रिट कहा जाता है जिसका वास्तविक और प्रतिबिम्ब 0
. है -
रिट का वास्तविक:=स्वयं का वास्तविक + c2 का वास्तविक
-
रिट की छवि :=स्वयं की छवि + c2 की छवि
-
वापसी रिट
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <iostream>
#include <sstream>
#include <cmath>
using namespace std;
class Complex {
private:
int real, imag;
public:
Complex(){
real = imag = 0;
}
Complex (int r, int i){
real = r;
imag = i;
}
string to_string(){
stringstream ss;
if(imag >= 0)
ss << "(" << real << " + " << imag << "i)";
else
ss << "(" << real << " - " << abs(imag) << "i)";
return ss.str();
}
Complex operator+(Complex c2){
Complex ret;
ret.real = real + c2.real;
ret.imag = imag + c2.imag;
return ret;
}
};
int main(){
Complex c1(8,-5), c2(2,3);
Complex res = c1 + c2;
cout << res.to_string();
}
इनपुट
c1(8,-5), c2(2,3)
आउटपुट
(10 - 2i)