C和C++中struct的区别是什么

  1. C语言的struct不能有函数成员,而C++的struct可以有;
  2. C语言的struct中数据成员没有private、public和protected访问权限的设定,而C++的struct的成员有访问权限设定;
  3. C语言中的struct是没有继承关系的,而C++的struct却又丰富的继承关系。

C语言中的struct是用户自定义数据类型(User Defined Type),它是没有权限设置的,它只能是一些变量的集合体,虽然可以封装数据确不可以因层数据,而且成员不可以是函数。

为了和C语言兼容,C++中就引入了struct关键字。C++语言中的struct是抽象数据类型(ADT),它支持成员函数的定义,同时他增加了访问权限,它的成员函数默认访问权限是public。在用模板的时候只能写template<class Type>或template<typename Type>不能写template<struct Type>。

猜你喜欢

转载自blog.csdn.net/summer00072/article/details/80932193