C与C++中的struct

来源:互联网 发布:2017计算机二c语言题库 编辑:程序博客网 时间:2024/05/22 09:29

“说说struct吧”

“struct是一个结构体,通常是用来实现某种数据结构用的。”

“还有呢?C和C++中的结构体有什么不同?C++中struct和class有什么区别?”

“呃.........”

乍一看,struct想必都见过,可一问细节,不熟悉的话着实答不上。

C和C++中的struct

C:在C中,struct扮演的是用户自定义的数据类型,只能由已定义的数据类型(可以是另一个自定义的struct)组成。

C++:在C++中,struct扮演的是抽象的数据类型,可以由数据类型成员函数组成。

 

C++中的struct是为了兼容C而保留的,如果程序不需要与C兼容,不推荐使用struct。

 

C中常用的2种方式:

 

C++中的使用方式:

 

C++是兼容C的,在C++中使用C的struct也是可以的。

C++中struct和class的区别

在C++中struct同样拥有public、protected、private访问权限,同样拥有成员函数,甚至同样拥有构造函数,还可以继承。那么struct和class有何区别?

 

是的,上面的例子没有体现继承,因为区别就在继承,struct的默认继承为public,而class的默认继承为private。如图:

 

原创粉丝点击