C++类和对象的学习【part1:封装】

C++类和对象的学习【part1:封装】

属性和行为作为整体

从这里开始,我们将探讨类这个主题,类的三要素是封装-继承-多态。
我们先从封装看起。
参考下列代码:

// arrayone.cpp -- small arrays of integers
#include <iostream>

using namespace std;

const double PI = 3.14;

//要设计一个类
class Circle
{
    //访问权限
    //公共权限
public:
    //属性(通常为变量)
    int radius;

    //行为(通常为函数)
    //获取圆的周长
    double calculate()
    {
        return 2 * PI * radius;
    }
};

int main()
{
    //通过圆类创建具体对象(实例化)
    Circle c1;
    //为圆对象属性赋值
    c1.radius = 10;

    cout << "圆的周长为" << c1.calculate() << endl;

    system("pause");
    return 0;
}

这里我们创建了一个圆类,并根据其半径计算了其周长,代码很简单,不再赘述。
需要关注的专业术语:

  • 类中的属性和行为,统一称为成员
  • 属性也称为成员属性 成员变量
  • 行为也称为成员函数 成员方法

为什么类中成员喜欢加一个m_或者以_结尾?
为了防止出现如下情况:

name = name;

这里m是member的首字母。
为什么定义类的时候先写行为,后写属性。
或者说为什么定义类的时候,不用先定义变量,有待解决!

访问权限

// arrayone.cpp -- small arrays of integers
#include <iostream>

using namespace std;

const double PI = 3.14;

//访问权限
//公共public 保护protected 私有private
//public    类内外均可访问
//protected 仅类内可以访问(子可访问父亲)
//private   仅类内可以访问(子不可访问父亲)
class Person 
{
    public:
        string name_;
    protected:
        string car_;
    private:
        int password_;
    public:
        void func()
        {
            name_ = "Libo";
            car_ = "benz";
            password_ = 123;
        }

};


int main()
{
    Person p1;
    p1.name_ = "Jerry";
    // p1.car_ = "new";
    // p1.password_ = 1234;

    p1.func();

    system("pause");
    return 0;
}
  • 公共权限public: 类内外均可访问
  • 保护权限protected: 仅类内可以访问(子可访问父亲)
  • 私有权限private: 仅类内可以访问(子不可访问父亲)

struct和class的区别

  • struct 默认公共权限 public
  • class 默认私有权限 private
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值