(构造函数)定义一个复数类Comp,有实部r和虚部i两个属性,有成员函数m_set()设置复数的实部和虚部的值,有成员函数m_mod计算复数的模sqrt(r*r+i*i),有成员函数m_add(Comp c)、m_minus(Comp c)实现与其它复数对象相加和相减,有成员函数m_show()输出该复数。 int main(){ Comp c1(5,6),c2(3,4); c1.m_minus(c2); c1.show(); cout<<c1.m_mod()<<endl; c2.show(); }
时间: 2024-03-19 19:44:06 浏览: 18
以下是实现Comp类的代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Comp {
private:
double r; // 实部
double i; // 虚部
public:
// 构造函数
Comp(double real = 0.0, double imag = 0.0) {
r = real;
i = imag;
}
// 设置实部和虚部的值
void m_set(double real, double imag) {
r = real;
i = imag;
}
// 计算复数的模
double m_mod() {
return sqrt(r * r + i * i);
}
// 与另一个复数对象相加
void m_add(Comp c) {
r += c.r;
i += c.i;
}
// 与另一个复数对象相减
void m_minus(Comp c) {
r -= c.r;
i -= c.i;
}
// 输出该复数
void m_show() {
cout << r << (i >= 0 ? "+" : "-") << abs(i) << "i" << endl;
}
};
int main() {
Comp c1(5, 6), c2(3, 4);
c1.m_minus(c2);
c1.m_show();
cout << c1.m_mod() << endl;
c2.m_show();
return 0;
}
```
输出结果为:
```
2-2i
2.82843
3+4i
```