我的学习之路--类和对象------点和圆的关系

文章介绍了如何使用C++定义类来表示点和圆,并实现它们之间的距离计算。类的基本结构包括对象的属性和行为,如点的坐标和圆的半径。权限关键字如public、private和protected用于控制成员的访问权限。示例中展示了如何定义点类和圆类,以及如何通过成员函数设置和获取属性。最后,通过一个Distance函数来计算点到圆心的距离。
摘要由CSDN通过智能技术生成

定义类

类的基本结构

要用C++的类和对象实现点和圆之间距离的关系,我们首先要学会如何定义一个类。

在C++中定义一个类我们要用到class关键字。结构如下:

class point{
   
};

其中,ponit为该对象的名称,可以自定义。

这就是定义类的基本架构。

对象的属性和行为

在定义的类中,我们可以存放对象的属性和行为。举个例子,我们将一个人视为一个对象的话,那么,年龄、性别、生日等就可以称为其的属性,而他可以上课、学习C++、吃饭等就属于他的行为。

权限关键字

对于一个对象的行为属性,它都会有一个权限。比如年龄、密码等较为隐私的属性就不方便透露给别人,而对于穿着、饰品等就可以展露于众人...

C++中我们是通过public、private、protected这些关键字对对象的属性行为进行权限的限制。

public:

称为公共权限,类内我们可以对他进行访问,类外亦可以。

private:

称为私有权限,类内我们可以进行访问,类外就不行。

protected:

称为保护权限,类内我们可以进行访问,类外就不行。

下面我们来看示例:

class point{
    private:
        int m_x;
        int m_y;
    public:
        void Setpoint(int x,int y)
        {
            m_x = x;
            m_y = y;
        }
        int Getm_x()
        {
            return m_x;
        }
        int Getm_y()
        {
            return m_y;
        }
};

如上,对于用private声明的我们在类以外的地方就不能进行访问,而public就行。

对点与圆的关系进行实现

首先,我们先定义一个点类

class point{
    private:
        int m_x;
        int m_y;
    public:
        void Setpoint(int x,int y)
        {
            m_x = x;
            m_y = y;
        }
        int Getm_x()
        {
            return m_x;
        }
        int Getm_y()
        {
            return m_y;
        }
};

其中,m_x以及m_y为点的横纵坐标。

Setpoint函数通过传参可以实现对点坐标的设置。

Getm_xGetm_y函数可以将横纵坐标作为返回值,从而实现点坐标的获取。

定义好了点类,我们再来定义圆类。

class Circle{
    private:
        point m_c;
        int m_r;
    public:
        void Setm_r(int r)
        {
            m_r = r;
        }
        int Getm_r()
        {
            return m_r;
        }
        void Setcenter(point c)
        {
            m_c = c;
        }
        point Getcenter()
        {
            return m_c;
        }
};

值得注意的是,在定义类是,其的属性和行为也可以是类类型。

我们就通过point m_c定义好了圆的圆心。

同理,Setm_r、Getm_r、Getcenter、Getcenter如上述一样。

这样我们就做好了我们的圆和点。

在写一个判断函数Distance就可以将此功能实现了!

int main(int argc, char** argv) {
    point dian;
    point center1;
    center1.Setpoint(1,1);
    dian.Setpoint(1,2);
    Circle CC;
    CC.Setm_r(2);
    CC.Setcenter(center1);
    cout<<Distance(dian,CC)<<endl;
    return 0;
}

struct与class

在定义类时我们也可用struct,但是它与class有一点区别,class默认的是private,strcut默认的是public。

学习资源来自B站“黑马程序员”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值