C与C++中的struct

本文详细介绍了C和C++中struct的概念及其用途。在C中,struct主要用于定义复合数据类型;而在C++中,它不仅可以包含数据成员,还可以包含成员函数,类似于class。文章还对比了C++中struct与class的区别,尤其是在默认继承方面的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“说说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。如图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值