c++ 中 class 和 struct 的效果一致,主要区别在于默认访问权限:class 为私有,struct 为公有。
C++ 中 class 和 struct 的效果
在 C++ 中,class 和 struct 都是定义用户自定义类型的关键字。它们的主要区别在于默认访问权限,而功能上效果是一致的。
默认访问权限
- class:默认访问权限为私有(private),这意味着只有同类成员才能访问其中的成员。
- struct:默认访问权限为公有(public),这意味着任何代码都可以访问其中的成员。
其他区别
- 内存布局:class 和 struct 的内存布局相同。
- 成员初始化:struct 可以使用聚合初始化,而 class 则不能。
- 多重继承:class 支持多重继承,而 struct 不支持。
选择 class 还是 struct
一般来说,如果希望类成员默认隐藏,则选择 class。如果希望类成员默认公开,则选择 struct。
以下是一些选择指南:
-
使用 class:
- 数据成员应该隐藏
- 需要多重继承
- 需要控制成员的可访问性
-
使用 struct:
- 数据成员应该公开
- 不需要多重继承
- 不需要控制成员的可访问性
以上就是c++++中class与struct效果一致吗的详细内容,更多请关注编程网其它相关文章!