日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

采用成员函数和友元函数计算给定两个坐标点之间的距离

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 采用成员函数和友元函数计算给定两个坐标点之间的距离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計一個用來表示直角坐標系的Location類,在主程序中創建類Location的兩個對象A和B,要求A的坐標點在第3象限,B的坐標點在第2象限,分別采用成員函數和友元函數計算給定兩個坐標點之間的距離,要求按如下格式輸出結果:

A(x1,y1), B(x2,y2),

Distance1=d1

Distance2=d2

其中:x1、y1、x2、y2為指定坐標值,d1和d2為兩個坐標點之間的距離。

#include<iostream> #include<cmath> using namespace std; class Location{public:Location(double a ,double b);//構造函數double getx();//成員函數,取x坐標值double gety();//成員函數,取y坐標值double distance(Location&d);//成員函數,求給定兩點之間的距離friend double distance1(Location&,Location&);//友元函數,求給定兩點之間private:double x,y; }; Location::Location(double a,double b)//構造函數的定義; { x=a;y=b; } double Location:: getx()//輸出x; { return x; } double Location:: gety()//輸出y; { return y; } double Location::distance(Location&d) { double d1;d1=sqrt((this->x-d.x)*(this->x-d.x)+(this->y-d.y)*(this->y-d.y));//this指針是包含在每一個成員函數中的一個特殊指針,它是指向本類對象的一個指針,//它的值未被調用的成員函數所在對象的地址,在這里可以寫成A.x,A.y; cout<<"Distance1="<<d1<<endl;return 0; } double distance1(Location& c,Location& d) { double d2;d2=sqrt((c.x-d.x)*(c.x-d.x)+(c.y-d.y)*(c.y-d.y));cout<<"Distance2="<<d2<<endl;return 0; } int main() { Location A(-1,-1); Location B(-1,1); cout<<"A("<<A.getx()<<","<<A.gety()<<") , B("<<B.getx()<<","<<B.gety()<<")"<<endl;A.distance(B);distance1(A,B);return 0; }

?

總結

以上是生活随笔為你收集整理的采用成员函数和友元函数计算给定两个坐标点之间的距离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。