你看我像大猩猩不? 2022-11-02 21:10 采纳率: 94.9%
浏览 11
已结题

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

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

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

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

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


#include <iostream>
#include <cmath>
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<<"("<<x<<","<<y<<")"<<endl;
        }
        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)<<endl;
    return 0;
}

img

  • 写回答

1条回答 默认 最新

  • 叶落花枯 2022-11-02 21:42
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 已采纳回答 11月3日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥15 this signal is connected to multiple drivers怎么解决
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus