/*
* B站学习--[105 - ]
* day12 学习成果
*/
#include <iostream>
#include "circle.h"
#include "point.h"
using namespace std;
void isInCircle(Circle& c, Point& p) {
//计算两点之间距离 平方
int distance =
(c.getCenter().getX() - p.getX()) * (c.getCenter().getX() - p.getX()) +
(c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY());
//计算半径的平方
int rDistance = c.getRadius() * c.getRadius();
//判断关系
if (distance == rDistance) {
cout << "点在圆上" << endl;
}
else if (distance > rDistance) {
cout << "点在圆外" << endl;
}
else {
cout << "点在圆内" << endl;
}
}
int main() {
//创建圆
Circle c;
c.setRadius(10);
Point center;
center.setX(10);
center.setY(0);
c.setCenter(center);
//创建点
Point p;
p.setX(10);
p.setY(9);
//判断关系
isInCircle(c, p);
system("pause");
return 0;
}
circle.h
#pragma once
#include <iostream>
#include "point.h"
using namespace std;
//圆类
class Circle {
private:
int radius;
Point center;
public:
void setCenter(Point p);
void setRadius(int radius);
Point getCenter();
int getRadius();
};
circle.cpp
#include "circle.h"
#include "point.h"
int radius;
Point center;
void Circle::setCenter(Point p) {
this->center = p;
}
void Circle::setRadius(int radius) {
this->radius = radius;
}
Point Circle::getCenter() {
return center;
}
int Circle::getRadius() {
return radius;
}
point.h
#pragma once
#include <iostream>
using namespace std;
//点类
class Point {
private:
int X;
int Y;
public:
void setX(int X);
int getX();
void setY(int Y);
int getY();
int getDistance();
};
point.cpp
#include "point.h"
//点类
int X;
int Y;
void Point::setX(int X) {
this->X = X;
}
int Point::getX() {
return this->X;
}
void Point::setY(int Y) {
this->Y = Y;
}
int Point::getY() {
return this->Y;
}
int Point::getDistance() {
return 0;
}