复数类设计: (1)数据:实部(real)、虚部(imag) (2)操作:构造函数、get、set、print、运算符重载(加法、减法、++) 备注:关于自增运算规则,可自行定义(如复数的实部和虚部同时自增,或之一自增,或其它)
时间: 2023-06-14 09:04:14 浏览: 289
好的,我来设计一个简单的复数类。
```cpp
class Complex {
private:
double real;
double imag;
public:
Complex(double real = 0.0, double imag = 0.0) {
this->real = real;
this->imag = imag;
}
double getReal() const {
return real;
}
double getImag() const {
return imag;
}
void setReal(double real) {
this->real = real;
}
void setImag(double imag) {
this->imag = imag;
}
void print() const {
std::cout << real << "+" << imag << "i" << std::endl;
}
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++() {
++real;
++imag;
return *this;
}
Complex operator++(int) {
Complex temp(*this);
++(*this);
return temp;
}
};
```
这里我们定义了一个 `Complex` 类,有 `real` 和 `imag` 两个私有成员变量,分别表示复数的实部和虚部。在公有部分,我们提供了构造函数、get、set、print、运算符重载(加法、减法、++)等操作。其中加法和减法的运算符重载返回类型都是 `Complex` 类型,而自增运算符有前置和后置两种形式,前置自增返回引用类型,后置自增返回值类型。
阅读全文