采用成员函数和友元函数计算给定两个坐标点之间的距离
生活随笔
收集整理的這篇文章主要介紹了
采用成员函数和友元函数计算给定两个坐标点之间的距离
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
設(shè)計(jì)一個(gè)用來(lái)表示直角坐標(biāo)系的Location類,在主程序中創(chuàng)建類Location的兩個(gè)對(duì)象A和B,要求A的坐標(biāo)點(diǎn)在第3象限,B的坐標(biāo)點(diǎn)在第2象限,分別采用成員函數(shù)和友元函數(shù)計(jì)算給定兩個(gè)坐標(biāo)點(diǎn)之間的距離,要求按如下格式輸出結(jié)果:
A(x1,y1), B(x2,y2),
Distance1=d1
Distance2=d2
其中:x1、y1、x2、y2為指定坐標(biāo)值,d1和d2為兩個(gè)坐標(biāo)點(diǎn)之間的距離。
#include<iostream> #include<cmath> using namespace std; class Location{public:Location(double a ,double b);//構(gòu)造函數(shù)double getx();//成員函數(shù),取x坐標(biāo)值double gety();//成員函數(shù),取y坐標(biāo)值double distance(Location&d);//成員函數(shù),求給定兩點(diǎn)之間的距離friend double distance1(Location&,Location&);//友元函數(shù),求給定兩點(diǎn)之間private:double x,y; }; Location::Location(double a,double b)//構(gòu)造函數(shù)的定義; { 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指針是包含在每一個(gè)成員函數(shù)中的一個(gè)特殊指針,它是指向本類對(duì)象的一個(gè)指針,//它的值未被調(diào)用的成員函數(shù)所在對(duì)象的地址,在這里可以寫(xiě)成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; }?
總結(jié)
以上是生活随笔為你收集整理的采用成员函数和友元函数计算给定两个坐标点之间的距离的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《x86汇编语言:从实模式到保护模式》视
- 下一篇: 如何给Typora安装主题