直接进入主题:
C++中结构体和类差不多是相同的,主要区别就是结构体的默认属性是public,二类的默认属性是private。
C++中结构体和类差不多是相同的,主要区别就是结构体的默认属性是public,二类的默认属性是private。
C和C++中结构体的区别主要有以下几点:
1、C中结构体不能有成员函数,而C++中可以有,甚至可以有虚函数。所以C中不存在构造函数、虚构函数和this指针。
2、C结构体只有public一种权限,而C++结构体有public、private、protect三种权限。
3、C结构体没有继承关系,而C++结构体可以从类或者其他结构体继承而来。
4、C结构体不能在结构体中初始化成员变量,而C++结构体可以。
5、C结构体在定义时除非使用typedef,否则之后定义变量都必须跟上struct + 结构体名,而C++结构体可以直接使用结构体名,不受限制。
6、C结构体不能有静态成员变量,而C++结构体可以有。
7、C结构体的空结构体sizeof为0,C++的sizeof为1。
8、数据隐藏,C结构体不存在数据隐藏这个概念,C++结构体有,因为C++面向对象。
9、访问修饰符,C中没有访问修饰符,因为这些修饰符不被语言支配,C++中有,因为它是C++内置的。