c++输出结果为啥都是0啊

这是题目编程1.设计一个名为MyPiont的类,表示直角坐标系中的一个点,这个类包含:1.两个数据域x,y表示坐标;2.一个无形参构造函数,创建一个点(0,0);3.一个... 这是题目
编程1.设计一个名为MyPiont的类,表示直角坐标系中的一个点,这个类包含:
1.两个数据域x,y表示坐标;
2.一个无形参构造函数,创建一个点(0,0);
3.一个构造函数,按给定的坐标创建一个点;
4.x和y的获取器函数;
5.一个名为distance的函数,返回当前点和另一个给定的MyPoint类型点之间的距离;
并编写一个测试程序,它创建两个点(0,0),(10,30.5),并输出两点间的距离。
这是我写的代码
#include<iostream>
#include<math.h>
using namespace std;
class Mypoint{
private:
float x1,y1,x2,y2;
public:
Mypoint()
{
float x1=0.0;
float y1=0.0;
}
Mypoint(float x,float y);
float Getx1()
{
return x1;
}
float Gety1()
{
return y1;
}
float Getx2()
{
return x2;
}
float Gety2()
{
return y2;
}
float distance();
};
Mypoint::Mypoint(float x,float y)
{
float x2=x;
float y2=y;
}
float Mypoint::distance()
{
float dis;
dis=sqrt(((Getx1()-Getx2())*(Getx1()-Getx2()))+((Gety1()-Gety2())*(Gety1()-Gety2())));
cout<<"the distance is "<<dis<<endl;
return dis;
}
void main()
{
Mypoint c1,c2;

Mypoint(0,0);
c1.distance();
Mypoint(10.0,30.5);
c2.distance();
}
我还有加分的
展开
 我来答
open_edu
2010-10-10 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:116万
展开全部
你的整个类的设计方式有问题。
可以再多看看对象的概念。
下面的例子参考一下吧:
#include <iostream.h>
#include <math.h>
class Point {
private:
double x;
double y;
public:
Point() {
x = 0;
y = 0;
}
Point(double x,double y) {
this->x = x;
this->y = y;
}
double getX() {
return x;
}
double getY() {
return y;
}
double distance(Point p) {
return sqrt(pow(p.getX()-x,2)+pow(p.getY()-y,2));
}
};
void main()
{
Point p1(1,1);
Point p2(2,2);
cout<<p1.distance(p2)<<endl;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式