C++类和结构体的区别

时间:2022-12-15 10:44:23

在C中,结构体只能有变量不能有方法。
在C++中,实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的。除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型。

C++同时包含这两个等价的关键字struct与class基于3个方面的原因。
- 第一,加强结构的能力。在C中,结构提供了一种数据分组方法,因而让结构包含成员函数是一个小小的改进。
- 第二,由于类与结构是相互关联的,所有现有C代码到C++的移植变得更容易。
- 第三,由于类与结构的等价性,提供两个不同的关键字可以使类定义*发展,为了保持C++与C的兼容性,结构定义必须始终受它的C定义的结束。