C++学习笔记2

C++学习笔记2

类的定义

定义格式

  1. 使用关键字class来定义类。

    class a{
        public:
        int first;
    }
    
  2. 使用struct定义类,兼容C的写法

    struct a{
        int first;
    }
    

访问限定符

  1. 访问限定符有三个,分别为public,private, protected ,用于设定类的权限。
  2. private和protected修饰的成员受到保护,无法再类外进行访问,而public则可以在类外进行访问。
  3. 由class定义的类的成员未修饰时默认使用private , 而struct定义的类则默认使用public。
  4. 访问权限的作用域直到下一个限定符为止或者类结束。

实例化

实例化概念

  1. 之前讲到类是一种模板,通过类实例化出各种具体的对象则是实例化。
  2. 在未进行实例化之前,类没有分配空间,只有在实例化之后,才在内存中分配空间。

对象大小

对象的大小该如何进行计算呢?

  1. 对象的大小与结构体大小的计算类似,需要遵守内存对齐规则。
  2. 内存对齐:
    • 第⼀个成员在与结构体偏移量为0的地址处。
    • 其他成员变量要对齐到对齐数的整数倍的地址处。
    • 对齐数 = 编译器默认的⼀个对齐数 与 该成员大小的较小值。
    • 结构体总大小: 最大对齐数的整数倍。

this指针

  1. this指针用于解决不同对象区分的问题。
  2. 编译器编译后,类的成员函数默认都会在形参第⼀个位置,增加⼀个当前类类型的指针,叫做this指针。
  3. 类的成员函数中访问成员变量,本质都是通过this指针访问的。
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值