编写一个复数类的例子,重载 +、 - 、= 运算符,进而实现复数加、减、赋值运算;
时间: 2023-06-12 14:04:59 浏览: 129
下面是一个简单的复数类的例子,实现了重载 + 、 - 、= 运算符,实现了复数的加、减、赋值运算:
```cpp
class Complex {
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
Complex operator+(const Complex& c) const {
return Complex(real + c.real, imag + c.imag);
}
Complex operator-(const Complex& c) const {
return Complex(real - c.real, imag - c.imag);
}
Complex& operator=(const Complex& c) {
real = c.real;
imag = c.imag;
return *this;
}
private:
double real, imag;
};
```
使用示例:
```cpp
Complex a(1.0, 2.0);
Complex b(3.0, 4.0);
Complex c = a + b; // 复数加法
Complex d = a - b; // 复数减法
a = b; // 复数赋值
```
相关问题
编写一个复数类的例子,重载+、-、=运算符,进而实现复数加、减、赋值运算
以下是一个复数类的示例代码,包含重载 +、-、= 运算符,实现了复数的加减和赋值运算。
```c++
#include <iostream>
using namespace std;
class Complex {
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
Complex operator+ (const Complex& other) const {
return Complex(real + other.real, imag + other.imag);
}
Complex operator- (const Complex& other) const {
return Complex(real - other.real, imag - other.imag);
}
Complex& operator= (const Complex& other) {
real = other.real;
imag = other.imag;
return *this;
}
void print() const {
cout << "(" << real << ", " << imag << "i)" << endl;
}
private:
double real;
double imag;
};
int main() {
Complex c1(1, 2), c2(3, 4), c3;
c3 = c1 + c2;
c3.print(); // (4, 6i)
c3 = c1 - c2;
c3.print(); // (-2, -2i)
c1 -= c2;
c1.print(); // (-2, -2i)
return 0;
}
```
在上面的代码中,我们定义了一个复数类 `Complex`,包含实部和虚部两个成员变量。重载了加、减、赋值运算符,通过这些运算符可以将两个复数相加、相减,并且实现了赋值运算。在主函数中,我们创建了三个复数对象,分别进行加、减、赋值运算,并输出结果。
用c++实现编写一个复数类的例子,重载 +、 - 、= 运算符,进而实现复数加、减、赋值运算
下面是一个使用C++实现复数类的例子,其中重载了+、-、=运算符,实现了复数的加、减、赋值运算:
```c++
#include <iostream>
using namespace std;
class Complex {
public:
Complex() : re(0), im(0) {} // 默认构造函数
Complex(double r, double i) : re(r), im(i) {} // 带参数的构造函数
// 重载加号运算符
Complex operator+(const Complex& c) const {
return Complex(re + c.re, im + c.im);
}
// 重载减号运算符
Complex operator-(const Complex& c) const {
return Complex(re - c.re, im - c.im);
}
// 重载赋值运算符
Complex& operator=(const Complex& c) {
re = c.re;
im = c.im;
return *this;
}
// 打印复数
void print() const {
cout << "(" << re << ", " << im << ")" << endl;
}
private:
double re, im; // 复数的实部和虚部
};
int main() {
Complex c1(1, 2);
Complex c2(3, 4);
Complex c3 = c1 + c2; // 复数加法
c3.print(); // 输出 (4, 6)
Complex c4 = c1 - c2; // 复数减法
c4.print(); // 输出 (-2, -2)
c1 = c2; // 复数赋值
c1.print(); // 输出 (3, 4)
return 0;
}
```
在上面的代码中,我们定义了一个复数类`Complex`,并重载了+、-、=运算符,实现了复数的加、减、赋值运算。我们可以通过创建`Complex`类的对象来进行复数运算。
阅读全文