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

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

他一直显示这样的错误,请问这该咋改呀,类和对象
这样的题
设计点类 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 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误