3个回答
展开全部
没有什么大的区别,C++中加入结构体是为了向C兼容,而结构在C++中作为类的方式来操作的话(比如加入成员函数),其实它就是个默认为public访问权限的类了,而如果你把它用做C的结构的话它就是一般的结构。
二者的不同在C++中(当然C中没有class)唯一表现在访问权限上,所以如果你并非想用到类的特性的话你就应该使用结构,但是这并不是一个强制条件,你可以使用struct定义完全公有的数据和函数成员(比如标准库<utility>里的pair),也可以用struct来定义private成员模拟类操作。
一般使用结构强调的就是公有,而class强调的是封装,所以原则上如果你不需要对数据进行封装的话你就可以优先选择struct而不是class,反之亦然。
二者的不同在C++中(当然C中没有class)唯一表现在访问权限上,所以如果你并非想用到类的特性的话你就应该使用结构,但是这并不是一个强制条件,你可以使用struct定义完全公有的数据和函数成员(比如标准库<utility>里的pair),也可以用struct来定义private成员模拟类操作。
一般使用结构强调的就是公有,而class强调的是封装,所以原则上如果你不需要对数据进行封装的话你就可以优先选择struct而不是class,反之亦然。
展开全部
看你的程序需要,结构体有其优点,也有缺点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。在C语言中,结构体不能包含函数。在面向对象的程序设计中,对象具有状态(属性)和行为,状态保存在成员变量中,行为通过成员方法(函数)来实现。C语言中的结构体只能描述一个对象的状态,不能描述一个对象的行为。在C++中,考虑到C语言到C++语言过渡的连续性,对结构体进行了扩展,C++的结构体可以包含函数,这样,C++的结构体也具有类的功能,与class不同的是,结构体包含的函数默认为public,而不是private
结构体的一些性质和作用:
结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型。以方便日后的使用。
在项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。
结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。
结构体的一些性质和作用:
结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型。以方便日后的使用。
在项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。
结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询