Создать класс окружностей на плоскости, описав в нём все необходимые свойства, подобрав им понятные имена и правильные типы данных. Описать в классе конструктор, позволяющий при создании нового объекта явно задать все его свойс...

Создать класс окружностей на плоскости, описав в нём все необходимые свойства, подобрав им понятные имена и правильные типы данных. Описать в классе конструктор, позволяющий при создании нового объекта явно задать все его свойства, а также конструктор, позволяющий задать свойства с клавиатуры. Если это необходимо, то проверить допустимость значений свойств. Создать в классе метод, вычисляющий площадь круга. Создать в классе метод, вычисляющий расстояние между центрами окружностей. Создать в классе метод, проверяющий, касаются ли окружности.
Гость
Ответ(ы) на вопрос:
Гость
#include #include using namespace std; class Circle { private:     double x;     double y;     double r; public:     Circle();     Circle(double xCo, double yCo, double rad);     double area();     double centre_dist(Circle & c);     bool istouch(Circle & c); }; Circle::Circle() {     cout << "Enter x coord: ";     cin >> x;     cout << "Enter y coord: ";     cin >> y;     cout << "Enter radius: ";     while (cin >> r && r < 0)     {         cout << "Radius can't be negative\n";         cout << "Enter radius: ";     } } Circle::Circle(double xCo, double yCo, double rad) : x(xCo), y(yCo), r(rad) {     if (r < 0)     {         cout << "Radius can't be negative\n";         cout << "Radius set to 0\n";         r = 0;     } } double Circle::area() {     return 3.1415926 * r * r; } double Circle::centre_dist(Circle & c) {     return sqrt((x - c.x) * (x - c.x) + (y - c.y) * (y - c.y)); } bool Circle::istouch(Circle & c) {     return (this->centre_dist(c) <= r + c.r) ? true : false; } int main() {     Circle c1;     Circle c2(0, 0, 5);     cout << "area of c2: " << c2.area() << endl;     cout << "centre distance: " << c2.centre_dist(c1) << endl;     cout << "is touch: ";     c2.istouch(c1) ? cout << "yes" : cout << "no";     cout << endl;     return 0; }
Не нашли ответ?
Ответить на вопрос
Похожие вопросы