Tro*_*nic 69
在C++ struct和class有同样的事情,不同的是结构默认public的知名度和类默认private可见性.
在C中,结构名称在它们自己的命名空间中,所以如果你有struct Foo {};,你需要编写struct Foo foo;来创建该类型的变量,而在C++中你可以只写Foo foo;,尽管也允许使用C样式.C程序员通常使用typedef struct {} Foo;C++语法来定义变量.
C编程语言也不支持可见性限制,成员函数或继承.
spe*_*der 11
在C++中,结构的行为类似于类,允许方法,构造函数,析构函数等......
类和C++结构之间的主要区别在于,默认情况下,结构内部的所有内容都是公共的,而类中的所有内容都是私有的.(即:外面没有人可以直接访问它们)
小智 5
C和C++结构有几个区别
在 C 中,我们定义 struct 关键字是创建结构类型值所必需的,而在 C++ 中则不需要。
在 C 中,结构内部没有函数,而在 C++ 中,我们可以定义可以直接访问结构数据成员的函数(函数在 C++ 中称为方法)
C 中的结构内部没有访问修饰符的概念,而在 C++ 中我们可以找到访问修饰符(例如 private 和 public )。默认情况下都是公开的。
C 中的结构不能有静态成员,而 C++ 中的结构可以有静态成员。
空结构的大小在 C 中违反约束,但在 C++ 中始终为 1。
在 C++ 中,我们可以同时拥有指向结构的指针和引用,但只允许指向结构的指针。(引用不是 C 语言的特性)