c++里用结构体好吗?

类完全能代替结构体,我这样理解对吗?两者相比优缺点是什么?... 类完全能代替结构体,我这样理解对吗?
两者相比优缺点是什么?
展开
 我来答
飘渺世间天
推荐于2017-09-15 · TA获得超过2650个赞
知道大有可为答主
回答量:843
采纳率:0%
帮助的人:1099万
展开全部
没有什么大的区别,C++中加入结构体是为了向C兼容,而结构在C++中作为类的方式来操作的话(比如加入成员函数),其实它就是个默认为public访问权限的类了,而如果你把它用做C的结构的话它就是一般的结构。

二者的不同在C++中(当然C中没有class)唯一表现在访问权限上,所以如果你并非想用到类的特性的话你就应该使用结构,但是这并不是一个强制条件,你可以使用struct定义完全公有的数据和函数成员(比如标准库<utility>里的pair),也可以用struct来定义private成员模拟类操作。

一般使用结构强调的就是公有,而class强调的是封装,所以原则上如果你不需要对数据进行封装的话你就可以优先选择struct而不是class,反之亦然。
论宇之新宇宙观
2015-10-01 · 中国人自己的宇宙观,新世纪新宇宙观!
论宇之新宇宙观
采纳数:514 获赞数:2456

向TA提问 私信TA
展开全部
看你的程序需要,结构体有其优点,也有缺点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无语翘楚
高粉答主

推荐于2017-09-18 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:2.5万
采纳率:88%
帮助的人:2517万
展开全部
在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。在C语言中,结构体不能包含函数。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。C语言中的结构体只能描述一个对象的状态,不能描述一个对象的行为。在C++中,考虑到C语言到C++语言过渡的连续性,对结构体进行了扩展,C++的结构体可以包含函数,这样,C++的结构体也具有类的功能,与class不同的是,结构体包含的函数默认为public,而不是private

结构体的一些性质和作用:
结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型。以方便日后的使用。
在项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。
结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式