类和对象
C语言是面向过程的,关注的是过程,分析求解问题的步骤,通过函数调用逐步解决问题
C++是面向对象的,关注的是对象,将问题拆解不同的对象,通过对象间的交互完成
C和C++本质区别:引入了类的概念
类中的元素称为类的成员
类中的数据称为类的属性或类的属性
类中的函数称为类的方法和成员函数
C++实现封装的方式:通过类将对象的属性和方法结合在一起,通过访问限定符选择性的将其接口提供给外部的用户使用
ps:访问限定符只在编译时有用,当数据加载映射到内存后,没有任何限定符的区别
面向对象的三大特性1:封装
指将数据和操作数据的方法有机结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互
一个类的大小,实际就是该类“成员变量之和”(要内存对齐)
空类有大小,编译器给空类一个字节类标识这个类
结构体对齐规则
1.第一个成员在与结构体偏移量为0的地址处2.其他成员变量要对齐到对齐数的整数倍(编译器默认的一个对齐数与该成员大小的较小值)
问题:类的方法存在公共代码段,如果我们实例化几个该类的对象,如何区分是谁在调用?
解决方式:引入this指针
C++编