定義Point類,採用友元類的方式計算兩個點之間的水平和垂直距離

以為懂得發表於2020-12-24

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;
}

結果:
在這裡插入圖片描述
在這裡插入圖片描述

相關文章