Я знаю, что это было задано раньше, но я не могу найти проблему в своем коде. Это довольно простой код, я проверил и класс Point
работает отлично (это имеет значение по умолчанию (0,0)), хотя Circle
один неC++ Нет соответствующего конструктора по умолчанию
class Circle{
public:
Circle(Point, double);
Circle(const Circle& c);
~Circle();
void setCenter(Point scenter);
void setRadius(double sradius);
double getSurface();
Point getCenter() const;
double getRadius() const;
void print() const;
private:
Point center;
double radius;
};
Circle::Circle(Point c, double r)
{
r = 1.0;
setCenter(c);
setRadius(r);
}
Что я делаю неправильно?
Вам необходимо реализовать конструктор по умолчанию, то есть один без каких-либо параметров (или параметры имеют аргументы по умолчанию) ... 'Circle()' – Praetorian
Введенный код не требует конструктора по умолчанию для Circle (которого у вас нет). Совершенно нормально иметь класс без конструктора по умолчанию, но он не должен использоваться без конкретного конструктора. – SergeyA
Только если вы на самом деле пытаетесь использовать конструктор по умолчанию (как в 'Circle circle;'), который здесь не показан – Kevin