1、定义一个复数类 Complex,重载运算符“-”,使之能用于复数与实数的减法运算。参加运算的两个操作数一个是类的对象,一个是实数,顺序任意。例如:i-c,c-i 均合法(其中,c 为复数类的对象,i 为实数)。
时间: 2024-02-17 22:04:06 浏览: 126
定义复数类Complex,进行运算符重载
5星 · 资源好评率100%
好的,下面是一个实现这个功能的代码示例:
```c++
#include<iostream>
using namespace std;
class Complex{
public:
Complex(double r=0, double i=0):real(r),imag(i){}
Complex operator-(double num){
return Complex(real-num, imag);
}
Complex operator-(Complex c){
return Complex(real-c.real, imag-c.imag);
}
void display(){
cout<<real<<"+"<<imag<<"i"<<endl;
}
private:
double real, imag;
};
int main(){
Complex c1(5, 4);
double num = 2.5;
Complex c2 = c1 - num;
Complex c3 = num - c1;
Complex c4 = c1 - Complex(3, 2);
Complex c5 = Complex(3, 2) - c1;
c2.display();
c3.display();
c4.display();
c5.display();
return 0;
}
```
在上面的代码中,我们定义了一个复数类 Complex,其中有一个双参数的构造函数,用于初始化实部和虚部。我们重载了运算符“-”,并分别实现了复数与实数、复数与复数之间的减法运算。其中,复数与实数相减时,我们将实数视为虚部为0的复数来处理。最后,我们在 main 函数中对这些运算进行了测试,并输出了结果。
阅读全文