运算符重载
根据以下代码段完善 ?? 处内容及程序内容,以实现规定的输出。
class Complex
{
public:
Complex(double r=0, double i=0):real(r), imag(i){ }
Complex operator+( ?? ) const;//重载双目运算符'+'
Complex operator-=( ?? ); //重载双目运算符'-='
friend Complex operator-( ?? ) const;//重载双目运算符'-'
void Display() const;
private:
double real;
double imag;
};
void Complex::Display() const
{
cout << "(" << real << ", " << imag << ")" << endl;
}
int main()
{
double r, m;
cin >> r >> m;
Complex c1(r, m);
cin >> r >> m;
Complex c2(r, m);
Complex c3 = c1+c2;
c3.Display();
c3 = c1-c2;
c3.Display();
c3 -= c1;
c3.Display();
return 0;
}
输入格式:
输入有两行,分别为两个复数的实部与虚部。
输出格式:
按样例格式输出结果。
输入样例:
在这里给出一组输入。例如:
4 2
3 -5
输出样例:
在这里给出相应的输出。例如:
(7, -3)
(1, 7)
(-3, 5)
1 #include <iostream> 2 using namespace std; 3 class Complex 4 { 5 public: 6 Complex(double r=0, double i=0):real(r), imag(i){ } 7 Complex operator+( Complex &c2 ) const;//重载双目运算符'+' 8 Complex operator-=( Complex&c2 ); //重载双目运算符'-=' 9 friend Complex operator-( Complex&c1,Complex&c2 ) ;//重载双目运算符'-' 10 void Display() const; 11 private: 12 double real; 13 double imag; 14 }; 15 Complex Complex::operator +(Complex &c2)const 16 { 17 return Complex(real+c2.real,imag+c2.imag); 18 } 19 Complex Complex::operator -=(Complex&c2) 20 { 21 return Complex(real-=c2.real,imag-=c2.imag); 22 } 23 Complex operator -(Complex &c1,Complex &c2) 24 { 25 return Complex(c1.real-c2.real,c1.imag-c2.imag); 26 } 27 void Complex::Display() const 28 { 29 cout << "(" << real << ", " << imag << ")" << endl; 30 } 31 32 int main() 33 { 34 double r, m; 35 cin >> r >> m; 36 Complex c1(r, m); 37 cin >> r >> m; 38 Complex c2(r, m); 39 Complex c3 = c1+c2; 40 c3.Display(); 41 c3 = c1-c2; 42 c3.Display(); 43 c3 -= c1; 44 c3.Display(); 45 return 0; 46 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!