今天我们来看一下:C结构和C++结构之间,到底有什么不一样地方!
在C++中,struct和class完全相同,除了struct默认为公共可见性和class默认为私有可见性。
C和C ++结构之间的一些重要区别:
结构内部的成员函数:C中的结构不能在结构内部具有成员函数,但是C ++中的结构可以与数据成员一起具有成员函数。
C语言:
这将在C中产生一个错误,但在C ++中不会产生任何错误。
输出:num = 9
直接初始化:我们无法在C中直接初始化结构数据成员,但可以在C ++中完成。
输出:7
使用struct关键字:在C语言中,我们需要使用struct来声明一个struct变量。在C ++中,没有必要使用struct。例如,让Record有一个结构。在C语言中,我们必须对记录变量使用“结构记录”。在C ++中,我们不需要使用struct,而仅使用'Record'才可以。
静态成员: C结构不能具有静态成员,但C++允许使用。
这将在C中产生一个错误,但在C ++中不会产生任何错误。
在结构中创建构造函数:C中的结构不能在结构内部具有构造函数,但是C ++中的结构可以具有构造函数创建。
输出:2个
sizeof运算符:此运算符将为C中的空结构生成0,而为C ++中的空结构生成1。
在C中的输出: 0
在C ++中的输出: 1个
数据隐藏: C结构不允许数据隐藏的概念,但在C ++中是允许的,因为C ++是一种面向对象的语言,而C语言则不是。
访问修饰符: C结构没有访问修饰符,因为语言不支持这些修饰符。由于C ++结构是用语言内置的,因此可以具有此概念。