有人知道为什么会出现此错误“'Shape':没有合适的默认构造函数”,该怎么办?
Circle::Circle(const Point& center, double radius, const string& type, const string& name):
_center(center), _radius(radius)
{
this->_name = name;
this->_type = type;
}
Shape::Shape(const string& name, const string& type):
_name(name), _type(type)
{
}
答案 0 :(得分:3)
Circle::Circle(const Point& center, double radius, const string& type, const string& name):
Shape(name, type), _center(center), _radius(radius) {}
在构造函数初始值设定项列表中,需要为基类的构造函数指定参数。如果不这样做,编译器将尝试使用默认构造函数,但是显然Shape
没有一个构造函数。