结构体和类的差异对比
结构体和类的对比
结构体的关键字为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
商城:研发中......
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!