Создать класс окружностей на плоскости, описав в нём все необходимые свойства, подобрав им понятные имена и правильные типы данных. Описать в классе конструктор, позволяющий при создании нового объекта явно задать все его свойства, а также конструктор, позволяющий задать свойства с клавиатуры. Если это необходимо, то проверить допустимость значений свойств. Создать в классе метод, вычисляющий площадь круга. Создать в классе метод, вычисляющий расстояние между центрами окружностей. Создать в классе метод, проверяющий, касаются ли окружности.
#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 cin >> x;
cout cin >> y;
cout while (cin >> r && r {
cout cout }
}
Circle::Circle(double xCo, double yCo, double rad) : x(xCo), y(yCo), r(rad)
{
if (r {
cout cout 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) }
int main()
{
Circle c1;
Circle c2(0, 0, 5);
cout cout cout c2.istouch(c1) ? cout cout return 0;
}
Форма вопроса доступна на