c++点和圆的关系
时间: 2024-02-22 09:00:38 浏览: 69
在C++中,点和圆可以表示为类的对象。可以定义一个Point类和一个Circle类。Point类可以有两个成员变量x和y,表示点的坐标。Circle类可以有三个成员变量x、y和r,表示圆心的坐标和半径。
下面是一个简单的Point类的定义:
```c++
class Point {
public:
Point(double x, double y) : _x(x), _y(y) {}
double getX() const { return _x; }
double getY() const { return _y; }
private:
double _x, _y;
};
```
下面是一个简单的Circle类的定义:
```c++
#include <cmath>
class Circle {
public:
Circle(double x, double y, double r) : _x(x), _y(y), _r(r) {}
double getX() const { return _x; }
double getY() const { return _y; }
double getR() const { return _r; }
double area() const { return M_PI * _r * _r; }
bool contains(const Point& p) const {
double dx = _x - p.getX();
double dy = _y - p.getY();
double d = sqrt(dx * dx + dy * dy);
return d <= _r;
}
private:
double _x, _y, _r;
};
```
在Circle类中,area()函数计算圆的面积,contains()函数检查一个点是否在圆内。
阅读全文