C++面向对象:点和圆的位置判断以及头文件的书写

#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;
}

posted @ 2021-05-13 17:33  Zeker62  阅读(144)  评论(0编辑  收藏  举报