c++类和duixiang(类中类)这里以点和圆心的关系

#include <iostream>
using namespace std;
#include <string.h>
//写一个全局函数或者类函数,我只是单纯的想要知道,类的地址传输怎么样的一个形式并没有其他什么意思

//开始书写点和圆的半径之间的距离关系,
//把成员属性都设置为私有,想要修改就用成员函数,先来一来普通的,就只在一个函数里面,就好了

class point
{
private:
    int myx;
    int myy;

public:
    void setx(int x)
    {
        myx = x;
    }
    int getx()
    {
        return myx;
    }
    void sety(int x)
    {
        myy = x;
    }
    int gety()
    {
        return myy;
    }
};//然后发现找点的函数是重复的,所以可以公用这个函数

class circle
{
public:
    
    void setR(int x)
    {
        m_r = x;
    }
    int getR()
    {
        return m_r;
    }
    void setcenter(point center)
    {
        circlet = center;//center本来就是一个函数,这样使用就可以使用point里面的函数了
    }
    point getcenter()
    {
        return circlet;
    }
    //圆的半径的设置,圆的xy坐标也需要设置啊
private:
    int m_r;
    point circlet;//point就是那个点的坐标,那圆自己


};

//判断函数
void hanshu(circle &x,point &p)//传入圆和点对二者进行一个判断,point本身就是设置点的,而圆里面使用此函数就是利用point里面设置点的这个函数
{
    int distance = (p.getx() - x.getcenter().getx()) * (p.getx() - x.getcenter().getx()) + (p.gety() - x.getcenter().gety()) * (p.gety() - x.getcenter().gety());
    //距离的平方就算完了
    //开始比较
    if (distance == x.getR()* x.getR())
    {
        cout << "点在圆上" << endl;
    }
    else if (distance > x.getR() * x.getR())
    {
        cout << "点在圆外" << endl;
    }
    else if (distance < x.getR() * x.getR())
    {
        cout << "点在圆内" << endl;
    }
}
int main()

{
   //主函数可以开始写了
    circle c;
    point center;//数据类型center有了,在继续利用point的函数进行赋值
    center.setx(0);
    center.sety(0);
    //ok至此完成,类中类

    point p;
    p.setx(9);
    p.sety(1);
    c.setR(9);
    c.setcenter(center);//只能往这个数据结构里面放point类型的数据
    hanshu(c, p);
    system("pause");
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值