今天我们来看看:C语言结构和C++结构之间的区别
首先,在我们C ++中,struct和class完全相同,除了struct默认为公共可见性和class默认为私有可见性。
C和C ++结构之间的一些重要区别:
结构内部的成员函数:C中的结构不能在结构内部具有成员函数,但是C ++中的结构可以与数据成员一起具有成员函数。
直接初始化:我们无法在C中直接初始化结构数据成员,但可以在C ++中完成。
C
C ++
输出:7
使用struct关键字:在C语言中,我们需要使用struct来声明一个struct变量。在C ++中,没有必要使用struct。
例如,让Record有一个结构。在C语言中,必须对Record变量使用“ struct Record”。
在C ++中,我们不需要使用struct,而仅使用'Record'可以。
静态成员: C结构不能具有静态成员,但C ++允许。
C
C ++
这将在C中产生一个错误,但在C ++中不会产生任何错误。
在结构中创建构造函数:C中的结构不能在结构内部具有构造函数,但是C ++中的结构可以具有构造函数创建。
C
C ++
输出:2
sizeof运算符:该运算符将为C中的空结构生成0,而为C ++中的空结构生成1。
在C中的输出:0
用C ++输出:1个
数据隐藏:C结构不允许数据隐藏的概念,但是在C ++中是允许的,因为C ++是一种面向对象的语言,而C语言则不是。
访问修饰符:C结构没有访问修饰符,因为语言不支持这些修饰符。由于C ++结构是用语言内置的,因此可以具有此概念。
希望对大家有帮助~
领取专属 10元无门槛券
私享最新 技术干货