This question already has answers here:
When should you use a class vs a struct in C++?
(25个答案)
C++ - struct vs. class [duplicate]
(5个答案)
6年前关闭。
什么时候需要在纯C ++程序中使用结构?在纯C ++程序中是否完全需要结构?
我知道结构是C程序中封装成员和函数指针的唯一方法。但是,如果我使用C ++编写完整的模块,那么如果我远离结构并改为使用类,那100%可以吗?我想念什么吗?
(我用谷歌搜索,但我的问题很具体-在纯C ++代码中结构无用)
===编辑===
我的问题不是关于结构和类之间的区别或共性,而是当您可以100%取消类时,在C ++中我们是否根本需要“结构”。除了与C的向后兼容性以外,结构不是C ++中的冗余构造吗?我了解它们之间的区别访问说明符,但仅存在语法差异。
(25个答案)
C++ - struct vs. class [duplicate]
(5个答案)
6年前关闭。
什么时候需要在纯C ++程序中使用结构?在纯C ++程序中是否完全需要结构?
我知道结构是C程序中封装成员和函数指针的唯一方法。但是,如果我使用C ++编写完整的模块,那么如果我远离结构并改为使用类,那100%可以吗?我想念什么吗?
(我用谷歌搜索,但我的问题很具体-在纯C ++代码中结构无用)
===编辑===
我的问题不是关于结构和类之间的区别或共性,而是当您可以100%取消类时,在C ++中我们是否根本需要“结构”。除了与C的向后兼容性以外,结构不是C ++中的冗余构造吗?我了解它们之间的区别访问说明符,但仅存在语法差异。
最佳答案
struct
已保留在C ++中,以便与C向后兼容。默认情况下,结构成员是公共的,而类成员是私有的。如果成员的类型是预定义的,则可以彼此替换class和struct并获得相同的结果。