c++类和对象(初级)

:就是类别,它是一个抽象的概念,是一种事物的总称
对象:经过实例化后就是对象
struct和class的区别
类的关键字是class,class与c语言中我们学的struct结构体差不多。但是他们也是有区别的
1、struct结构体中只能定义变量类型,而class类中不仅可以定义变量(对象)也可以定义函数。
2、对于访问权限来说,在struct结构体中定义的变量是公有的,结构体外部的也可以访问,但是class中定义的,如果没有明确指定,默认是私有的,也就是说私有成员对类外是不可见的,更谈不上访问了。
类的3种访问方式:(针对类外)
公有:public
私有:private:
保护:protect
类内部成员具有全局属性,后定义的也可以先使用,与定义的位置无关。
类的作用域
在类内的话就无所谓,具有全局属性,但是在类外的话需要使用 :: 作用域解析符
指明成员属于哪个类域。
类大小的计算:(非常重要)
与成员函数无关(因为函数存放在代码段,不占空间),只与成员变量有关(是数据大小的总和),且遵循内存对齐,如果是个空类,系统为它分配一个字节大小的空间。
为什么要进行内存对齐?
cpu在读取数据时并不是一个字节一个字节的读取,而是一块一块的拿数据,内存对齐会提高访问效率。
this指针
this指针只存在于成员函数内部,存在于函数的第一个形参。
this指针存在于栈上,优化后就在寄存器上。
类型:类类型* const
对象中不存储this指针
this指针为什么不能为空?
不能,空指针不能解引用,有时可以,前提是没有做解引用(没有访问成员变量),
this指针始终指向当前调用它的那个对象的首地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值