我正在练习我的面向对象,我有以下类:点和圆。具体来说,Circle有一个中心点和一个半径。下面是相关代码:没有匹配函数调用类构造函数
// Point.h
class Point
{
public:
Point(double x, double y);
double x() const;
double y() const;
std::string as_string() const;
private:
double x_coord;
double y_coord;
};
// Circle.h
class Circle
{
public:
Circle(const Point& center, double radius);
Point center() const;
double radius() const;
std::string as_string() const;
std::string equation() const;
private:
Point center_pt;
double radius_size;
};
// Circle.cpp
Circle::Circle(const Point& center, double radius)
{
center_pt = center;
radius_size = radius;
}
然而,当我尝试编译这段代码,我得到以下错误:
Circle.cpp: In constructor ‘Circle::Circle(const Point&, double)’:
Circle.cpp:3: error: no matching function for call to ‘Point::Point()’
Point.h:10: note: candidates are: Point::Point(double, double)
Point.h:8: note: Point::Point(const Point&)
我不知道如何解释这个错误。它是否告诉我,我需要在Circle构造函数中为Point参数提供x_coord和y_coord?
明确定义为类点默认构造函数。 –