编写一个程序,定义一个复数类,含实部和虚部两个数据成员,设计一个非成员函数作为该类的友元函数,该函数的功能输出复数对象的实部和虚部。
时间: 2024-05-06 11:21:42 浏览: 133
友元函数和友元类的定义及使用.docx
很高兴为你解答这个问题。以下是实现该功能的代码:
```c++
#include<iostream>
using namespace std;
class Complex {
private:
float real;
float imag;
public:
Complex(float r=0, float i=0) : real(r), imag(i) {}
friend void printComplex(Complex c);
};
void printComplex(Complex c) {
cout << c.real << "+" << c.imag << "i" << endl;
}
int main() {
Complex c(2.5, 3.7);
printComplex(c);
return 0;
}
```
在这个程序中,我们先定义了一个复数类 Complex,类中包含两个数据成员,分别表示实部和虚部。我们用构造函数设置默认值,方便后续调用。
接着,我们通过 friend 关键字定义了一个非成员函数 printComplex,作为该类的友元函数。这个函数用来输出复数对象的实部和虚部。
在主函数 main 中,我们首先创建一个 Complex 类型的对象 c,然后调用 printComplex 函数输出该对象的实部和虚部。
希望这个代码能够解决你的问题。如果你还有其他问题,欢迎继续提问。
阅读全文