Другие языки программирования и технологии
Создать класс типа круг. C++
Создать класс типа круг. Поля-данные: радиус, координаты центра. Функции-члены вычисляют площадь, длину окружности, устанавливают поля и возвращают значения. Функции члены установки полей класса должны проверять корректность задаваемых параметров (не равны нулю и не отрицательные). Функция печати.
class Shape2D {
public:
virtual double getArea() = 0;
virtual double getLength() = 0;
virtual void print() {
cout << "S = " << getArea() << ", ";
cout << "L = " << getLength() << ".\n";
}
};
class Circle: public Shape2D {
static constexpr double PI = 3.14;
double radius;
double centerX, centerY;
public:
Circle(double radius, double centerX, double centerY) {
setRadius(radius);
setCenterX(centerX);
setCenterY(centerY);
}
double getRadius() { return radius; }
void setRadius(double radius) {
if (radius > 0) {
this->radius = radius;
}
}
double getCenterX() { return centerX; }
void setCenterX(double centerX) {
if (centerX > 0) {
this->centerX = centerX;
}
}
double getCenterY() { return centerY; }
void setCenterY(double centerY) {
if (centerY > 0) {
this->centerY = centerY;
}
}
double getArea() override {
return PI * radius * radius;
}
double getLength() override {
return 2 * PI * radius;
}
void print() override {
cout << "Circle: ";
cout << "R = " << radius << ", ";
cout << "Center: " << "(" << centerX
<< ", " << centerY << "), ";
Shape2D::print();
}
};
public:
virtual double getArea() = 0;
virtual double getLength() = 0;
virtual void print() {
cout << "S = " << getArea() << ", ";
cout << "L = " << getLength() << ".\n";
}
};
class Circle: public Shape2D {
static constexpr double PI = 3.14;
double radius;
double centerX, centerY;
public:
Circle(double radius, double centerX, double centerY) {
setRadius(radius);
setCenterX(centerX);
setCenterY(centerY);
}
double getRadius() { return radius; }
void setRadius(double radius) {
if (radius > 0) {
this->radius = radius;
}
}
double getCenterX() { return centerX; }
void setCenterX(double centerX) {
if (centerX > 0) {
this->centerX = centerX;
}
}
double getCenterY() { return centerY; }
void setCenterY(double centerY) {
if (centerY > 0) {
this->centerY = centerY;
}
}
double getArea() override {
return PI * radius * radius;
}
double getLength() override {
return 2 * PI * radius;
}
void print() override {
cout << "Circle: ";
cout << "R = " << radius << ", ";
cout << "Center: " << "(" << centerX
<< ", " << centerY << "), ";
Shape2D::print();
}
};
Cубканов Александр
спасибо. а как ее довести до ума?

class Круг {
dobule радиус, центр_абсцисса, центр_ордината;
public:
Круг (dobule радиус, dobule центр_абсцисса, dobule центр_ордината);
double площадь ();
double длина ();
void печать ();
};
dobule радиус, центр_абсцисса, центр_ордината;
public:
Круг (dobule радиус, dobule центр_абсцисса, dobule центр_ордината);
double площадь ();
double длина ();
void печать ();
};
Похожие вопросы
- Зачем в С/C++ создан отдельный тип "указатель"
- Создать класс иметирующую следующу ситуацию в c++
- Как на C++ создать массив типа int из стольких элиментов, что бы значение бралось из перемнно count ?
- Создать список работников предприятия C++
- Нужно создать класс треугольник. Задание небольшое. Очень прошу помочь, кому не сложно
- Как создать программу на языке c++
- Как преобразовать тип string к типу int? C++
- Как создать бинарное дерево в c++ новичку(т.е. мне)???!Помогите плз!
- с помощью какого движка можна создать видеопортал типа youtube, где видео храниться в виде ссылок с youtube
- Нужно очень срочно создать программу. На языке c ++