使用C++程序实现ADT复数的存储及算法
时间: 2024-09-17 20:08:54 浏览: 18
在C++中,我们可以使用结构体(struct)或者类(class)来实现抽象数据类型(Abstract Data Type,ADT)的复数。首先,创建一个名为`Complex`的类,包含两个私有成员变量`real`和`imaginary`分别代表实部和虚部。下面是一个简单的实现:
```cpp
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double imaginary;
public:
// 构造函数
Complex(double r = 0, double i = 0) : real(r), imaginary(i) {}
// 获取和设置属性
double getReal() const { return real; }
void setReal(double r) { real = r; }
double getImaginary() const { return imaginary; }
void setImaginary(double i) { imaginary = i; }
// 加法运算
Complex operator+(const Complex& other) const {
return Complex(real + other.real, imaginary + other.imaginary);
}
// 减法运算
Complex operator-(const Complex& other) const {
return Complex(real - other.real, imaginary - other.imaginary);
}
// 数学操作展示
void print() const {
cout << real << " + " << imaginary << "i" << endl;
}
};
```
在这个例子中,我们实现了复数的基本运算如加减,以及打印功能。此外,由于C++支持重载运算符,我们还重载了`+`和`-`运算符,使得复数可以像普通数值一样进行计算。