请求各位dalao告诉我这是怎么回事@-@

第一张是编译之前的,编译之后就变成第二张了,我也用我室友的电脑试过,也是这样,但是我用Visual Studio的时候就没问题,求大神解答
代码如下:

 #include<iostream>
#include<cmath>
using namespace std;
class Point
{
    private:
        float x,y;
    public:
        Point(float a,float b):x(a),y(b){};
        friend double distance(Point p1,Point p2);
};
double distance(Point p1,Point p2)
{
    return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
int main()
{
    float a1,a2,b1,b2;
    cin>>a1>>b1>>a2>>b2;
    Point p1(a1,b1),p2(a2,b2);
    cout<<distance(p1,p2);
    return 0;
}

图片在这里.....图片图片

http://blog.csdn.net/sxhelijian/article/details/8859653