同样是结构体,看看在C语言和C++中有什么区别?
首先是作为一种自定义数据类型,C语言中定义结构体变量必须要加上 struct 关键字,C++可以不加,直接用结构体名。
第二个,C语言的结构体,只能放一些变量,如果想放一些函数进去,也只能使用结构体指针间接的去操作。
但是在 C++ 中,结构体就丰富了很多,不仅可以有变量,还可以写函数。通过结构体变量也能去调用函数。
第三个,C++中的结构体,可以支持构造函数。
所谓构造函数,就是函数名与结构体名相同的函数,并且没有返回值。
在这个函数里面,一般可以对结构体成员做初始化。
有了构造函数,当然也有析构函数,做一些回收资源的操作。
第四个,C++中的结构体还具备了继承的特性。比如来个结构体 A,再来个结构体 B,因为结构体 B 中的成员有一部分跟 A 一样,所以可以直接使用继承的语法,把 A 继承过来。不过这些都已经属于面向对象的范畴。
关于 C 和 C++ 中结构体的区别,还有哪些,欢迎在评论区补充。
全部0条评论
快来发表一下你的评论吧 !