结构体和类的差异对比
结构体和类的对比
结构体的关键字为struct,常用来进行封装同属性的成员变量(它也可以用来封装函数,但是多数不会进行函数封装操作)
类则对应C++中面向对象的概念,完美阐述了面向对象的三大特性:封装、继承、多肽。它的关键字为class,常用来封装成员函数和成员变量。
不同点
1、关键字使用不同,结构体为struct,类为class
2、访问修饰符不同,结构体只有public和private;类则多一个protect
3、默认的访问安全系数不同,结构体中若没有定义public和private,则默认为public;类中则默认为private
4、继承性,结构体没有继承概念;类可继承父类
5、多肽性,结构体没有多肽性;类则存在多肽性
6、构造函数的不同,结构体需要在构造函数中初始化所有成员变量;类则随意,因为构造函数的重构性导致的
7、还有多种关于面向对象方面的类都存在,而结构体不存在,大家可以仔细研读面向对象的三要素,就会发现更多的不同(析构函数,static修饰符,存储位置等等)
相同点
1、都可以用来封装成员变量和函数
2、都存在构造函数并对成员变量进行初始化
如何考虑使用类还是结构体
1、如果有明显的面向对象概念时,果断选择类
2、如果单纯用来定义成员属性时,区分属性的归属:对象为数据集合采用结构体,对象属性有明显的层次概念使用类
3、从使用的场景上来看,时长需要被赋值传递的对象,多用来进行深度拷贝的时候采用结构体
e.g 视频观看请点击如下
联系
QQ群:820191434
微信:anlg_study
B站:https://space.bilibili.com/3493080139303853?spm_id_from=333.999.0.0
商城:研发中......