结构体和类的差异对比

结构体和类的对比

结构体的关键字为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

商城:研发中......

posted @ 2023-02-06 10:45  代码研究院初心  阅读(178)  评论(0编辑  收藏  举报