как инициализировать поля в конструкторе С++
столкнулся с проблемой инициализации полей в конструкторе класса
class Circle {
private:
Circle(double x, double y, double radius) {
this->x = x;
this->y = y;
this->radius = radius;
this->length = calculateLength();
this->area = calculateArea();
}
// дальше идут методы и куча ошибок что класс не имеет данных полей
выдает ошибку
'class Circle' has no member named 'x'
подскажите пожалуйста в чем проблема, буду очень благодарен за ответ
Ответы (1 шт):
Автор решения: anton
→ Ссылка
Ну, компилятор говорит: В классе Circle не объявлено поле x.
А еще, конструктор приватный, что приведет ко еще одной ошибке компиляции.
class Circle {
public: // сделать конструктор публичным
double x;
double y;
double radius;
double length;
double area;
Circle(double x, double y, double radius) {
this->x = x;
this->y = y;
this->radius = radius;
this->length = calculateLength();
this->area = calculateArea();
}
// ...
};