C++中类与结构体的区别
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++中类与结构体的区别
相信有⼀点专业知识的⼈都知道,C语⾔是⼀种结构化语⾔。
它层次清晰,便于按模块化⽅式组织程序,易于调试和维护。
在很⼤程度上,标准C++是标准C的超集。
实际上,所有C程序也是C++程序,然⽽,两者之间有少量区别。
下⾯是最重要的区别:
结构是C的⼀部分,C++从C中继承了结构,在语法上,类与结构⼗分相似,在关系上,这两者也很接近,在C++中,结构的作⽤被拓宽了,进⽽使结构成为了类的⼀种替代⽅法。
实际上,类与结构的惟⼀区别在于:在默认状态下,结构的所有成员均是公有的,⽽类的所有成员是私有的。
除此之外,类与结构是等价的,也就是说,⼀个结构定义了⼀个类的类型。
C++同时包含这两个等价的关键字struct与class基于3个⽅⾯的原因。
第⼀,加强结构的能⼒。
在C中,结构提供了⼀种数据分组⽅法,因⽽让结构包含成员函数是⼀个⼩⼩的改进。
第⼆,由于类与结构是相互关联的,所有现有C代码到C++的移植变得更容易。
第三,由于类与结构的等价性,提供两个不同的关键字可以使类定义⾃由发展,为了保持C++与C的兼容性,结构定义必须始终受它的C定义的结束。
即使在有些地⽅可以使⽤结构来代替类,但尽量不要这么做,为了清楚起见,该⽤类的地⽅就⽤class关键字,该⽤C结构的地⽅就⽤struct 关键字。