zl程序教程

您现在的位置是:首页 >  后端

当前栏目

c++类例子之类中有类

C++ 例子 之类
2023-09-14 09:14:34 时间

在这里插入图片描述

#include <iostream>
#include <string>
using namespace std;

// 点和圆类

// 点类
class Point
{
    public:
    // 设置
    void setx(int x)
    {
        m_x=x;
    }
    int getx()
    {
        return m_x;
    }
    void sety(int y)
    {
        m_y=y;
    }
    int gety()
    {
        return m_y;
    }
    private:
    int m_x;
    int m_y;
};





// 圆类
class Circle
{
    public:
    void setr(int r)
    {
        m_r=r;
    }
    int getr()
    {
        return m_r;
    }

    void setc(Point c)
    {
        m_c=c;
    }
    Point getc()
    {
        return m_c;
    }


    private:
    int m_r;
    Point m_c;

};


// 判断点和圆的关系
void isInCircle(Circle &c,Point &p)

{
    int distance=
    (c.getc().getx()-p.getx())*(c.getc().getx()-p.getx())+
    (c.getc().gety()-p.gety())*(c.getc().gety()-p.gety());
    // 计算半径的平方
    int rDistance =c.getr()*c.getr();


    // 判断关系
    if (rDistance==distance)
    {
        cout <<"shang"<<endl;
    }
    else if (distance>rDistance)
    {
        cout<<"外"<<endl;
    }
    else
    {
        cout<<"内"<<endl;
    }

}


int main()

{

    // 创建圆
    Circle c;
    Point center;
    c.setr(10);
    center.setx(10);
    center.sety(10);
    c.setc(center);
    // 创建点
    Point p;
    p.setx(11);
    p.sety(119);
    isInCircle(c,p);


    system("pause");
    return 0;
}