C的结构(struct)和C++中的结构有什么分别?C++中的结构又和类有什么区别?

热心网友

在C和C++中 struct是不同的。区别就是:在C中struct 内部只能有各种数据,在C++中struct 可以有数据,有函数。例如在C中如下是正确的:struct MyStruct{ int i; char* str; struct MyStruct my; // 自定义的数据类型也可以放在一个结构体里};而下列是错误的struct MyStruct{ int i; char* str; int func(); // 函数不能作为C结构体的成员};在C++中以上两种写法都是正确的,在C++中struct和class只有一点区别,如楼上所述,struct默认成员变量是public,class默认成员变量是private。

热心网友

在C语言中,struct,可以定义一个数据结构。在C++中struct和class一样,都是定义一个类,可以有自已的成员函数struct默认成员变量是publicclass默认成员变量是private

热心网友

没有专门比较过,我认为C++内的结构体和C的结构体是相同的。而结构体和类的区别在于:1、结构体是一种用于存储数据的变量集合,它的组成部分只能是变量、数组、指针、结构体等等,而不能出现函数等其他的程序体。而类则既可以有以上提到的那些之外,还可以出现函数(即成员函数)等程序体2、结构体本身可以看作是一种数据类型,也就是说可以定义结构体变量(一开始说明的是结构体类型),而类是不能定义变量的,它所定义的是一种全新的结构:对象现在就想到这么多,想到再补充吧!