定義Point類,採用友元類的方式計算兩個點之間的水平和垂直距離
阿新 • • 發佈:2020-12-25
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;
}
結果: