c++ - 为什么我们需要 C++ 中的 `class`,而 `struct` 可用于实现相同的目的?

标签 c++ class struct

<分区>

使用 struct 我们可以实现 class 的所有功能:构造函数(可以修改/重载)、析构函数(可以修改/重载)、运算符重载、实例方法、静态方法、public/private/protected 字段/方法。

那我们为什么需要 class 呢?

注意:我不希望回答说在 struct 中,字段/方法默认是 public

最佳答案

你不需要类,语言只是给你另一种选择。从技术上讲,您是对的,您可以使用 struct 实现 class 可以做的任何事情。

除了默认访问级别之外,还有大多数程序员与这两者相关联的含义 - struct 通常表示轻量级,通常是 POD,数据类型几乎没有没有功能。 class 通常与更大的事物相关联。

关于c++ - 为什么我们需要 C++ 中的 `class`,而 `struct` 可用于实现相同的目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919506/

相关文章:

c++ - cin 是一个合适的文件对象吗?

struct - 如何在不为每个字段重复 `pub` 的情况下创建所有字段都是公共(public)的公共(public)结构?

c - 我如何让它编译为 x64

C中链表的冗余计数

c++ - 在 Eigen 中复制模板化函数参数

c++ - 从 C++ 应用程序将源命令传递给 bash 时出现问题

c++ - 容器模板,错误在哪里?

java - 本地类和本地内部类有什么区别

reflection - 如何识别实现接口(interface)的类?

python - Pyglet游戏 Action 落后