重载加法运算符以将两个复数相加的 C++ 程序
假设我们有一个带有实部和虚部的复数类。我们必须重载加法 (+) 运算符才能将两个复数相加。我们还必须定义一个函数来以正确的表示形式返回复数。
所以,如果输入像 c1 = 8 - 5i, c2 = 2 + 3i,那么输出将是 10 - 2i。
示例
让我们看看以下实现以获得更好的理解 -
#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)
以上是 重载加法运算符以将两个复数相加的 C++ 程序 的全部内容, 来源链接: utcz.com/z/345737.html