C++学习笔记——点和圆的关系

点类的头文件

#pragma once
#include <iostream>
using namespace std;
class Point
{
public:
    void setX1(int X1);
    int getX1();

    void setX2(int X2);
    int getX2();
private:
    int p_X1;
    int p_X2;
};

圆类的头文件

#pragma once
#include <iostream>
using namespace std;
#include "point.h"

class Circle
{
public:
    void setCenter(Point center);
    Point getCenter();
    void setR(int R);
    int getR(); 
private:
    Point m_Center;//在类中可以让另一个类作为本类中的成员
    int m_R;
};

圆类的.cpp文件

#include "circle.h"

void Circle::setCenter(Point center)
{
    m_Center = center;
}Point Circle::getCenter()
{
    return m_Center;
}

void Circle::setR(int R)
{
    m_R = R;
}int Circle::getR()
{
    return m_R;
}

点类的.cpp文件

#include "point.h"

void Point::setX1(int X1)//加上作用域Point::,表示Point作用域下的成员函数
{
    p_X1 = X1;
}int Point::getX1()
{
    return p_X1;
}

void Point::setX2(int X2)
{
    p_X2 = X2;
}    int Point::getX2()
{
    return p_X2;
}
全局函数和main函数

#include <iostream>
using namespace std;
#include "Circle.h"
#include "point.h"
//设计一个圆类和一个点类,计算点和圆的关系

//判断点和圆的关系
void  PD(Circle &c,Point &p)
{
    int D =
        (c.getCenter().getX1() - p.getX1()) * (c.getCenter().getX1() - p.getX1()) +
        (c.getCenter().getX2() - p.getX2()) * (c.getCenter().getX2() - p.getX2());
    int rD = c.getR() * c.getR();
    cout << D << endl;
    cout << rD << endl;

    if(D == rD)
    {
        cout << "点在圆上" << endl;
    }
    else if (D > rD)
    {
        cout << "点在圆外" << endl;
    }
    else
    {
        cout << "点在圆内" << endl;

    }
}


int main()
{
    Circle c;
    c.setR(10);
    Point center;
    center.setX1(10);
    center.setX2(0);
    c.setCenter(center);
    Point p;
    p.setX1(10);
    p.setX2(11);
    PD(c, p);

    system("pause");
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值