结构和类的区别:用 C++ 示例解释
什么是结构?
结构是一种用户自定义的数据类型,将float、char、int等不同数据类型的逻辑相关数据项组合在一起。
所有结构元素都存储在连续的内存位置。结构类型变量可帮助您在一个名称下存储多个不同数据类型的数据项。
什么是类?
类是构建特定类型对象的蓝图或一组指令。它是面向对象编程的基本概念,围绕现实生活中的实体展开。编程语言中的类决定了对象的行为方式以及对象包含的内容。
类也是一种用户定义的数据类型,它的体内可以有不同种类的数据类型和成员函数。
C++类的语法
这是一个类的语法:
class class-name { // data // functions };
在上述语法中,类名是分配给类的名称。数据是类的成员,通常声明为变量。这里的函数是类函数。
C++结构的语法
这是结构的语法:
struct struct_name { // struct data members }
在上面的语法中,使用了 struct 关键字。 struct_name 是结构的名称。结构成员添加在花括号内。这些成员可能属于不同的数据类型。
结构与类的区别
这是结构和类之间的主要区别:
你应该选择哪一个?
如果你的内存占用很大或者喜欢使用继承之类的概念,那么你可以选择一个类。另一方面,当您需要初始化默认值的小内存字段或占用空间时,可以使用该结构。
主要区别
- 结构是用户定义的数据类型,它结合了不同数据类型的逻辑相关数据项,而类是构建特定类型对象的蓝图或一组指令。
- Structure 是值类型数据类型,而 class 是引用类型数据类型。
- 你不能改变结构的默认构造函数,但你可以改变类的默认构造函数。
- 结构不能有析构函数,而类可以有析构函数。
- 类用于小程序,结构用于大程序。
- 在结构中,所有值类型都分配在栈上,而在类中,所有值类型都分配在堆上。
- “结构”的实例称为“结构变量”,而“类”的实例称为“对象”。
- 结构成员变量不能直接初始化,类成员变量可以直接初始化。
C语言