编写一个程序,定义一个复数类,含实部和虚部两个数据成员,再定义一个坐标类Point,含有横坐标和纵坐标两个数据成员,该类中有一个成员函数print(),可以输出一个点的横坐标和纵坐标,并且该函数为复数类的友元函数,可以输出得数的实部和虚部。
时间: 2024-05-05 12:19:14 浏览: 51
好的,我明白了您的问题。以下是您需要编写的程序:
```
#include <iostream>
using namespace std;
class Complex {
private:
float real;
float imag;
public:
Complex(float r, float i) {
real = r;
imag = i;
}
friend void Point::print(Complex);
};
class Point {
private:
float x;
float y;
public:
Point(float xval, float yval) {
x = xval;
y = yval;
}
void print(Complex c) {
cout << "Point coordinates: (" << x << "," << y << ")" << endl;
cout << "Complex number: " << c.real << "+" << c.imag << "i" << endl;
}
};
int main() {
Complex num(2, 3);
Point p(1, 1);
p.print(num);
return 0;
}
```
在这个程序中,我们首先定义了一个复数类`Complex`和一个坐标类`Point`。在`Complex`类中,我们有实部和虚部两个成员变量,并定义了一个构造函数。在`Point`类中,我们有横坐标和纵坐标两个成员变量,并且定义了一个成员函数`print()`,这个成员函数可以打印一个点的横坐标和纵坐标,并且它是`Complex`类的友元函数,可以输出得数的实部和虚部。
在`main()`函数中,我们创建了一个复数对象和一个点对象,并调用`Point`类的成员函数`print()`来输出结果。
希望这个程序可以帮助到您!
阅读全文