SDUT 2676 3-7 類的友元函數的應用

題目描述

通過本題目的練習可以掌握類的友元函數的定義和用法
要求設計一個點類Point,它具有兩個double型的數據成員x,y。爲該類設計構造函數。併爲其添加一個友元函數用於計算並輸出兩點間的距離;再添加一個輸出成員函數用於輸出點的信息。
 
 
並編寫主函數,實現以下的輸入輸出內容。

輸入

4double型的數,中間用一個空格間隔。

輸出

輸出數據共3行,前兩行用於顯示要求距離的兩個點的信息,第三行顯示兩點的距離。

示例輸入

5 6 2 3

示例輸出

The first point is the coordinate:X=5,Y=6
The second point is the coordinate:X=2,Y=3
The distance between the two points is:4.24264
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;

class Point
{
private:
    double x,y,x1,y1;
public:
    Point(double a1,double b1,double c1,double d1)
    {
        x=a1;
        y=b1;
        x1=c1;
        y1=d1;
        cout<<"The first point is the coordinate:X="<<x<<",Y="<<y<<endl;
        cout<<"The second point is the coordinate:X="<<x1<<",Y="<<y1<<endl;
    }
    friend void display(Point &);//定義友元函數
};
void display(Point &q)
{
    double sum=sqrt((q.x-q.x1)*(q.x-q.x1)+(q.y-q.y1)*(q.y-q.y1));
    cout<<"The distance between the two points is:"<<sum<<endl;

}
int main()
{
    double a,b,c,d;
    cin>>a>>b>>c>>d;
    Point q1(a,b,c,d);
    display(q1);

    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章