C++ 中类和结构体的联系和区别

类(class)是在面向对象编程中经常使用的,它具有面向对象的一些特性,如封装,继承,多态;结构体是组织数据的的一种方式。

  • 联系:在类中,可以定义数据成员和功能方法,在结构体,同样能做到这些事,从技术上讲,两者除了关键字不同之外,没有什么不同。
  • 区别:类中的成员默认是私有的(private),而结构体中的成员默认是公开的(public)。

思考:类的作用是将数据和功能进行组合,但同样的事结构体也能做到,"用类能做到的事,不用类也能做到",类本质上就是一个语法糖,既然结构体与类的功能一致,那么结构体存在的意义是什么呢?Yutube上的博主Cherno的解释是,为了和 C 保持某种联系,因为在 C 中是没有类的,用结构体可以保持联系,在 C++ 中同样能用结构体做类能做到的事。

  • 实际用法:虽然两者功能相同,但在实际开发中,混用会导致代码风格混乱,为了保持代码风格的一致性,应该根据个人习惯来限制使用,比如,把类看成是复杂组织的一种系统,当数据集需要使用继承等相关技术时,用类来组织数据;把结构体看成单纯的数据结构,只用来组织单一的数据,后续不会发生继承。这样的做法可以使代码的风格简洁。
posted @ 2025-02-27 15:49  回火的西瓜冰  阅读(102)  评论(0)    收藏  举报