一、struct和class
(1)struct是C中的自定义类型,主要功能是将一个功能相关的数据进行一个封装。
(2)struct不能封装函数,但是可以通过函数指针间接的封装函数。
(3)struct就是class的初级阶段,class就是对struct进行了很多扩展,就有了面对对象。
二、访问权限
(1)类是对数据(变量)和方法(函数)的封装。
(2)封装的一个重要特征就是访问权限的管控,本质上是隐藏实现,以免被意外篡改。
(3)C++有三个访问级别管控。分别为:private、protected、public
三、对象创建和销毁
(1)对象的本质等同于C中的变量,对象的创建和销毁也就是变量的销毁,本质上也是内存的分配和释放
(2)C中全局变量和局部变量都是系统自动分配的,,堆内存需要用户手动申请和释放。(malloc和free)
(3)C++中因为变量自动升级成对象,涉及到了构造函数和析构函数,因此,malloc和free升级成了new和delete。
(4)C++中仍然大量的使用全局变量和局部变量,但是动态分配内存所占的比例越来越多。这个是因为业务特点决定。