题目描述
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。
输入
两个复数
输出
复数之和
样例输入
3 4
5 -10
样例输出
(8.00,-6.00i)#include <iostream> #include <iomanip> using namespace std; class Complex { public: Complex(); Complex(double r,double i); double get_real(); double get_imag(); void display(); private: double real; double imag; }; Complex::Complex(){} Complex::Complex(double r,double i) { real=r; imag=i; } double Complex::get_real() { return real; } double Complex::get_imag() { return imag; } Complex operator + (Complex &c1,Complex &c2) {return Complex(c1.get_real()+c2.get_real(),c1.get_imag()+c2.get_imag()); } void Complex::display() { cout<<'('<<real<<','<<imag<<"i)"<<endl; } int main() { double real,imag; cin>>real>>imag; Complex c1(real,imag); cin>>real>>imag; Complex c2(real,imag); Complex c3=c1+c2; cout<<setiosflags(ios::fixed); cout<<setprecision(2); c3.display(); return 0; }