求解題目
(1)設計一個用來表示直角坐標系的Location類,在主程序中創建類Location的兩個對象A和B,要求A的坐標點在第3象限,B的坐標點在第2象限,采用成員函數計算給定兩個坐標點之間的距離,要求按如下格式輸出結果:
A(x1,y1), B(x2,y2)
Distance=d
其中,x1、y1、x2、y2為指定的坐標值,d為兩個坐標點之間的距離。
[提示]:
類Location的參考框架如下:
class Location{
public:
?????? Location(double,double);??????????? //構造函數
double Getx();??????????????????????????????????????? //成員函數,取x坐標值
double Gety();??????????????????????????????????????? //成員函數,取y坐標值
double dist (Location&, Location&);??? //成員函數,求給定兩點之間的距離
private:
????? double x,y;
};
#include<iostream>
#include<math.h>
using namespace std;
class Location
{
public:
Location(double,double,double,double)
{
x1=Getx1(),x2=Getx2(),y1=Gety1(),y2=Gety2();
};??????????? //構造函數
double Getx1()
{
cin>>x1;
};
double Getx2()
{
cin>>x2;
}; //成員函數,取x坐標值
double Gety1()
{
cin>>y1;
};
double Gety2()
{
cin>>y2;
}; //成員函數,取y坐標值
double dist (Location&, Location&)
{
d= sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2));
return d;
}; //成員函數,求給定兩點之間的距離
private:
double x1,x2,y1,y2,d,c;
};
int main()
{
Location lc;
lc.dist (Location&,Location&);
cout<<"請輸入x1"<<endl;
double Getx();
cout<<"請輸入y1"<<endl;
double Gety();
cout<<"請輸入x2"<<endl;
??? double Getx();
cout<<"請輸入y2"<<endl;
double Gety();
cout<<lc.dist (Location&, Location&)<<endl;
return 0;
}
為什么顯示這幾個錯誤啊
C:\Users\17490\Desktop\comp.cpp(31) : error C2064: term does not evaluate to a function
C:\Users\17490\Desktop\comp.cpp(31) : error C2064: term does not evaluate to a function
C:\Users\17490\Desktop\comp.cpp(40) : error C2512: 'Location' : no appropriate default constructor available
C:\Users\17490\Desktop\comp.cpp(41) : error C2059: syntax error : ','
C:\Users\17490\Desktop\comp.cpp(50) : error C2059: syntax error : ','
2019-04-23
#include<iostream>
#include<math.h>
using namespace std;
class location
{
public :
? ? ? location (double _x,double _y)
? ? ? {
? ? ? ? ? ? x=_x;
? ? ? ? ? ? y=_y;
? ? ? }
? ? ? double getx()
? ? ? {
? ? ? ? ? ? return x;
? ? ? }
? ? ? double gety()
? ? ? {
? ? ? ? ? ? return y;
? ? ? }
? ? ? friend double dist(location &a,location &b);
private :
? ? ? double x,y;
};
?double dist(location &a,location &b)
? ? ? {
? ? ? ? ? ? double d;
? ? ? ? ? ? d=sqrt(pow(a.getx()-b.getx(),2)+pow(a.gety()-b.gety(),2));
? ? ? ? ? ? cout<<d;
? ? ? }
int main()
{
? ? ? location A(-3,-6);
? ? ? location B(-2,4);
? ? ? cout<<"A("<<A.getx()<<","<<A.gety()<<")" <<"," <<"B("<<B.getx()<<","<<B.gety()<<")" <<endl;
? ? ? dist(A,B);
}