他一直显示这样的错误,请问这该咋改呀,类和对象

他一直显示这样的错误,请问这该咋改呀,类和对象
这样的题
设计点类 Point,能够表示平面当中的任意点

(1)数据成员包括两点坐标(x,y)。

(2)成员函数包括构造函数、析构函数、复制构造函数、求点的坐标的函数,打印点坐标的函数,计算两点间距离的函数。

(3)在主函数中实例化出两个点a(0,0),b(6,8),输出a点坐标,打印求出两点间的距离。


#include 
#include 
using namespace std;
class Point
{
    public:
        Point (int x1,int y1){//构造函数 
            x=x1;
            y=y1;
        }
        Point(Point &p){
            x=p.x;
            y=p.y;
        }
        ~Point(){}
        int setx(int a)const
        {
            a=x;
        }
        int sety(int b)const
        {
            b=y;
        }
        void show()
        {
            cout<<"("<","<")"<double distance(Point &p,Point &q)
        {
            cout<<sqrt((p.x-q.x)*(p.x-q.x)+(p.y-q.y)*(p.y-q.y));//距离 
        }
        private:
            int x,y;//横纵坐标 
}; 
    int main()
{
    Point a(0,0);
    Point b(6,8);
    a.show();
    cout<<"这两点之间的距离是:"<<distance(a,b)<return 0;
}

img

41行不能直接调用类的成员函数 distance(a,b)
解决方法:
类成员函数定义为静态函数 static double distance(Point &p,Point &q)
main函数调用 Point::distance(a,b)