1.C++中struct和class本质区别
- struct 最早是在C语言(面向过程编程语言)中出现的,在C++中对struct的功能进行了扩展。
- class在C++(面向对象编程语言)中是非常重要的。C++(C with class)
- 补充:C语言里是没有class关键字:因为可以测试在(XXX.C)文件中定义一个int class;编译器不会报错。
1):默认的继承权限不一样
-
struct默认是公有继承(public)
-
class默认是私有继承(private)
2):默认访问权限不一样
-
struct默认是public
-
class默认是private
3):初始化不一样
- c语言是面向过程的,认为数据和操作是分开的,所以struct只能定义数据成员,不能定义函数,故初始化可以使用大括号{}对所有数据成员进行初始化。
-
例如:
typedef struct test
{
int num;
char* name;
}Test_t;
Test_t A =