#include<iostream>
using namespace std;
// 点和圆的关系的案例
// 点类
class Point{
public :
void setXandY(int x1,int y1){
x=x1;
y=y1;
}
int getX(){
return x;
}
int getY(){
return y;
}
private:
int x;
int y;
};
class Circle{
public:
// 设置半径,获取半径
void setR(int r1){
r=r1;
}
int getR(){
return r;
}
// 设置圆心
void setcenter(Point center1){
center=center1;
}
Point getcenter(){
return center;
}
// 获取圆心
private:
int r;
// 在类中可以让另一个类作为本类的成员。
Point center; //圆心
};
// 判断点和圆的关系
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.getR()*c.getR();
if (distance==rdistance){
cout<<"点在圆上"<<endl;
}
else if(distance<rdistance){
cout<<"点在圆内"<<endl;
}
else{
cout<<"点在圆外"<<endl;
}
}
int main(){
Circle c;
c.setR(10);
Point center;
center.setXandY(10,0);
c.setcenter(center);
Point p;
p.setXandY(10,10);
isInCircle(c,p);
return 0;
}
在书写头文件的时候,使用::作为作用域
point.h
#Programe once
#include<iostream>
using namespace std;
class Point{
public :
void setXandY(int x1,int y1);
int getX();
int getY();
private:
int x;
int y;
};
point .cpp
Point::表示作用域
#include"point.h"
void Point::setXandY(int x1,int y1){
x=x1;
y=y1;
}
int Point::getX(){
return x;
}
int Point::getY(){
return y;
}