编译器报错如下,该如何改


#include <iostream>
#include <cmath>
using namespace std;
class Point//基类Point
{
protected:
    double x1, y2;
public:
    Point(double a, double b);//功能为x1,y1初始化
    void print();   //功能输出点的坐标
};
Point::Point(double a, double b)
{
    x1 = a;
    y2 = b;
}
void Point::print()
{
    cout << "(" << x1 << "," << y2 << ")" << endl;
}

class Line :public Point//派生类Line
{
private:
    double x2, y2;
    double d;
public:
    Line(double a, double b, double c, double d);//功能为x2,y2初始化
    void distance();//功能为求出两点间的距离d
    void show();   //功能输出两点坐标和两点间距离

};
Line::Line(double a, double b, double c, double d) :Point(c, d)
{
    x2 = a;
    y2 = b;

}
void Line::distance()
{
    double s = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
    d = sqrt(s);
}
void Line::show()
{
    cout << "线段的长度是:" << d << endl;
}

int main()
{
    Line l(1, 2, 3, 4);
    l.distance();
    l.print();
    l.show();

    return 0;
}

img

Point中的y1都写成了y2