为什么cin赋值得到的结果和定义时赋值的结果不一样

代码如下,在Dev-C++编译
友元函数计算两点距离

#include
#include
using namespace std;

class Point{
public:
Point(int a,int b):x(a),y(b){ }
int getX(){return x;}
int getY(){return y;}
friend float dist(Point &p1,Point &p2); //友元函数声明
private:
int x,y;
};

float dist(Point &p1,Point &p2) //友元函数的实现
{
double x=p1.x-p2.x; //通过对象访问私有数据成员
double y=p1.y-p2.y;
return (sqrt(xx+yy)); //static_cast用于良性转换
}

int main()
{
//float a,b,c,d;
Point myp1(1,1),myp2(4,5); //定义Point类的对象
/cout<<"请依次输入点1的X和Y坐标"<<endl;
cout<<"X1=";
cin>>a;
cout<<"Y1=";
cin>>b;
cout<<"请依次输入点2的X和Y坐标"<<endl; 玩什么用cin输入会出别的结果
cout<<"X2=";
cin>>c;
cout<<"Y2=";
cin>>d;
/
cout<<"点1与点2的直线距离为:";
cout<<dist(myp1,myp2)<<endl;
return 0;
}

img

img

第一张图片中代码第25行在第26行之前,这时abcd的值未赋值就初始化了myap1和myap2,所以会得不到预期的值。你用cin输入时也是同样的问题。