为了账号安全,请及时绑定邮箱和手机立即绑定

求解题目

(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 : ','

正在回答

1 回答

#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);

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103381    人
  • 解答问题       732    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

求解题目

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号