行刑星k28 2020-12-04 00:19 采纳率: 0%
浏览 104

invalid use of‘Point::Point’什么意思

#include<iostream>
#include<cmath>
#define PI 3.1415
using namespace std;
class Point
{
    int x,y;
public:
    Point(){}
    Point(int xx,int yy)
    {
        x=xx;y=yy;
    }
    Point(Point &r)
    {
        x=r.x;
        y=r.y;
    }
    int GetX(){return x;}
    int GetY(){return y;}
    ~Point()
    {
        cout<<"Point xigou "<<x<<" "<<y<<endl;;
    }
};
class Ellipse
{
    Point a,b;
    double area;
public:
     void Area()//计算面积值
    {
        double m,n;
        int x1,y1,x2,y2;
        x1=a.GetX(),y1=a.GetY(),x2=b.GetX(),y2=b.GetY();
        m=double(fabs(x1-x2)/2);
        n=double(fabs(y1-y2)/2);
      //cout<<x1<<" "<<y1<<" "<<x2<<" "<<y2<<endl;
      area=PI*m*n;
      //cout<<r<<endl;
      //cout<<area;
      Ellipse::Showarea();
    }
    Ellipse(){}
    Ellipse(int X1,int Y1,int X2,int Y2)
    {
        a(X1,Y1),b(X2,Y2);
        cout<<"gouzao 1 "<<X1<<" "<<Y1<<" "<<X2<<" "<<Y2<<endl;;
    }
    Ellipse(Point &p1,Point &p2)
    {
        a=p1,b=p2;
        cout<<"gouzao 2 "<<a.GetX()<<" "<<a.GetY()<<" "<<b.GetX()<<" "<<b.GetY()<<endl;
    }
     void Show()//输出坐标
    {
        cout<<a.GetX()<<" "<<a.GetY()<<" "<<b.GetX()<<" "<<b.GetY()<<" "<<endl;
    }
    void Showarea()//输出面积值
    {
        cout<<area<<endl;;
    }
    ~Ellipse()
    {
        cout<<"Ellipse xigou "<<b.GetX()<<" "<<b.GetY()<<endl;
    }

};


int main()
{
    int X1,X2,Y1,Y2;
    cin>>X1>>Y1>>X2>>Y2;
    //cout<<X1<<" "<<Y1<<" "<<X2<<" "<<Y2<<endl;
    Ellipse e1(X1,Y1,X2,Y2);
    int X3,Y3,X4,Y4;
    cin>>X3>>Y3>>X4>>Y4;
    Point p1(X3,Y3),p2(X4,Y4);//构建对象1
    Ellipse e2(p1,p2);
    e1.Show();
    e2.Show();
    e1.Area();
    e2.Area();
    return 0;
}

  • 写回答

1条回答 默认 最新

  • 写c++的蒟蒻 2024-02-17 13:16
    关注

    在Ellipse的构造函数中,它成员类Point的构造函数只能通过初始化列表调用,不能在函数体内调用。
    改正如下:

    Point(int xx,int yy):x(xx),y(yy)
    {
    };
    Point(const Point& temp):x(temp.x),y(temp.y)
    {
    };
    Ellipse(int X1,int Y1,int X2,int Y2):a(X1,Y1),b(X2,Y2)
    {
    };
    Ellipse(const Point& p1,const Point& p2):a(p1),b(p2)
    {
    };
    
    评论 编辑记录

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能