ধরুন আমাদের বাস্তব এবং কাল্পনিক অংশ সহ একটি জটিল সংখ্যার শ্রেণী আছে। দুটি জটিল সংখ্যা যোগ করতে আমাদের সংযোজন (+) অপারেটরকে ওভারলোড করতে হবে। সঠিক উপস্থাপনায় জটিল সংখ্যা ফেরত দেওয়ার জন্যও আমাদের একটি ফাংশন সংজ্ঞায়িত করতে হবে।
সুতরাং, যদি ইনপুট হয় c1 =8 - 5i, c2 =2 + 3i, তাহলে আউটপুট হবে 10 - 2i।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
+ অপারেটর ওভারলোড করুন এবং যুক্তি হিসাবে আরেকটি জটিল সংখ্যা c2 নিন
-
ret নামক একটি জটিল সংখ্যা সংজ্ঞায়িত করুন যার বাস্তব এবং চিত্র 0
-
ret এর বাস্তব :=নিজস্ব বাস্তব + c2 এর বাস্তব
-
ret এর imag :=own imag + c2 এর imag
-
রিটার্ন রিটার্ন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#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)