C和C++中struct区别

来源:互联网 发布:全自动猫厕所 知乎 编辑:程序博客网 时间:2024/05/17 21:59

1、C和C++ struct的区别

C是一种过程化的语言,struct只是作为一种复杂数据类型定义,struct中只能定义成员变量,不能定义成员函数(在纯粹的C语言中,struct不能定义成员函数,只能定义变量)。

C++中struct还有构造函数和成员函数,其实它还拥有class的其他特性,例如继承、虚函数等。它只和class有略微的区别,其他功能相同。

2、C++中struct和class的区别

(1)、class中的成员默认是private,而struct的成员默认为public。

(2)、class默认的继承方式是private,而struct的默认继承方式是public。

(3)、class还可以用于表示模板类型,struct则不行。在用模版的时候只能写template <class Type>或template<typename Type>不能写template <struct Type>。