C++程序编写.设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A

C++程序编写.
设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果:
A(x1,y1),B(x2,y2),
Distance1=d1
Distance2=d2
其中:x1、y1、x2、y2为指定坐标值,d1和d2为两个坐标点之间的距离.
【提示】:类Location的参考框架如下:
class Location
{public:
x05 Location(double,double); //构造函数
x05 double getx(); //成员函数,取x坐标值
x05 double gety(); //成员函数,取y坐标值
double distance(Location &); //成员函数,求给定两点之间的距离
friend double distance(Location &,Location &); //友元函数,求给定两点之间的距离
private:
x05 double x,y;
}
黑zzvs110 1年前 已收到1个回答 举报

yayaya1984 幼苗

共回答了29个问题采纳率:89.7% 举报

#include
#include
class Location
{
public:
x05Location(double,double); //构造函数
x05double getx(); //成员函数,取x坐标值
x05double gety(); //成员函数,取y坐标值
x05double distance(Location &); //成员函数,求给定两点之间的距离
x05friend double distance(Location &,Location &); //友元函数,求给定两点之间的距离
private:
x05double x,y;
};
Location::Location(double x,double y)
{
x05this->x = x;
x05this->y = y;
}
double Location::getx()
{
x05return this->x;
}
double Location::gety()
{
x05return this->y;
}
double Location::distance(Location &locat)
{
x05double dis = 0.0;
x05dis = sqrt((this->x - locat.x)*(this->x - locat.x) + (this->y - locat.y)*(this->y - locat.y));
x05return dis;
}
double distance(Location &locat1,Location &locat2)
{
x05double dis = 0.0;
x05dis = sqrt((locat1.x - locat2.x)*(locat1.x - locat2.x) + (locat1.y - locat2.y)*(locat1.y - locat2.y));
x05return dis;
}
int _tmain(int argc,_TCHAR* argv[])
{
x05Location A(1.0,2.0);
x05Location B(4.0,6.0);
x05std::cout

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.666 s. - webmaster@yulucn.com