C++作业记录
问题描述:
设计一个点类Point,包含点的坐标x,y两个数据成员,采用友元类的方式分别计算两点间的水平距离和垂直距离。
程序:
#include <iostream>
#include <cmath>
using namespace std;
class Point //定义Point类
{
private:
int x,y;
public:
void point(int a,int b) {
x=a;
y=b;
}
friend float PointDisX(Point p1,Point p2); //声明友元求两点的水平距离
friend float PointDisY(Point p1,Point p2); //声明友元求两点的垂直距离
};
float PointDisX(Point p1,Point p2) { //定义友元求两点的水平距离
double X;
X=p1.x-p2.x;
return X;
}
float PointDisY(Point p1,Point p2) {//定义友元求两点的水平距离
double Y;
Y=p1.y-p2.y;
return Y;
}
int main() {
Point p1;
Point p2;
p1.point(6,5);
p2.point(1,1);
cout<<"两点的水平距离是:"<<PointDisX(p1,p2)<<endl;
cout<<"两点的垂直距离是:"<<PointDisY(p1,p2)<<endl;
}
结果: