试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该类有两个共有成员函数,分别用来设置成员数据和输出成员数据,在主函数中分别采用对象方式,指针方式和引用方式来调用该类的公有函数设置和输出成员数据。
时间: 2023-04-06 17:03:09 浏览: 150
好的,这是一个关于编程的问题,我可以回答。下面是一个复数类的设计:
```cpp
class Complex {
private:
double real; // 实部
double imag; // 虚部
public:
Complex() : real(0), imag(0) {} // 默认构造函数
Complex(double r, double i) : real(r), imag(i) {} // 带参构造函数
void set(double r, double i) { // 设置实部和虚部
real = r;
imag = i;
}
void print() const { // 输出实部和虚部
cout << real << " + " << imag << "i" << endl;
}
};
int main() {
Complex c1; // 对象方式
c1.set(1, 2);
c1.print();
Complex* c2 = new Complex; // 指针方式
c2->set(3, 4);
c2->print();
delete c2;
Complex& c3 = c1; // 引用方式
c3.set(5, 6);
c1.print();
return 0;
}
```
以上代码中,我们定义了一个复数类 `Complex`,它有两个私有成员变量 `real` 和 `imag`,分别表示实部和虚部。类中有一个默认构造函数和一个带参构造函数,用于创建对象。类中还有两个公有成员函数 `set` 和 `print`,分别用于设置成员变量和输出成员变量。在主函数中,我们分别采用对象方式、指针方式和引用方式来调用 `set` 和 `print` 函数,以演示不同的调用方式。
阅读全文