在C++中的比较:
- 默认的继承访问权限。struct是public的,class是private的。
- struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的。
在C语言和C++中的比较:
- 在C语言中struct在结构体之前必须加上struct,才能作为结构体类型名。
- struct是用户自定义的数据类型,C++中struct是抽象数据类型,支持函数自定义。
- C++ 中struct默认是public为了与C语言中相兼容,class在C++中默认是private,struct增加了访问权限。
- C语言中struct是没有权限设置的,只能是一些变量的集合体,可以封装数据,但是不可以隐藏数据,成员不可以是函数。