在C++中,类和结构是用于创建类实例的蓝图。结构用于轻型对象,例如矩形,颜色,点等。
与类不同,C++中的结构是值类型,而不是引用类型。如果您具有在创建结构后不打算修改的数据,这将很有用。
C++结构是不同数据类型的集合。它类似于保存不同类型数据的类。
struct structure_name { //成员声明。 }
在上面的声明中,通过在 struct关键字之前跟随标识符(结构名称)来声明结构。在花括号内,我们可以声明不同类型的成员变量。 请考虑以下情况:
struct Student { char name[20]; int id; int age; }
在上述情况下,Student是一个包含三个变量name,id和age的结构。声明结构时,不会分配任何内存。创建结构变量后,便会分配内存。让我们了解这种情况。
结构变量可以定义为: Student s;
在这里,s是Student类型的结构变量。创建结构变量后,将分配内存。Student学生结构包含一个char变量和两个整数变量。因此,一个char变量的内存为1字节,两个int为2 * 4 =8。s变量占用的总内存为9字节。
可以通过简单地使用结构的实例,后跟点(.)运算符,然后使用结构的字段来访问结构的变量。
s.id = 4;
在上面的语句中,我们使用 dot(.)运算符访问Student结构的id字段,并将值4分配给id字段。
让我们来看一个简单的Rectangle结构示例,它具有两个数据成员width和height。
#include <iostream> using namespace std; struct Rectangle { int width, height; }; int main(void) { struct Rectangle rec; rec.width=8; rec.height=5; cout<<"Area of Rectangle is: "<<(rec.width * rec.height)<<endl; return 0; }
输出:
Area of Rectangle is: 40
让我们看一下struct的另一个示例,在该示例中,我们使用构造函数初始化数据,并使用方法来计算矩形的面积。
#include <iostream> using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout<<"Area of Rectangle is: "<<(width*height); } }; int main(void) { struct Rectangle rec=Rectangle(4,6); rec.areaOfRectangle(); return 0; } }
输出:
Area of Rectangle is: 24
Struct v/s Class
struct | class |
---|---|
如果未明确声明访问说明符,则默认情况下,访问说明符将是公共的。 | 如果未明确声明访问说明符,则默认情况下,访问说明符将为私有。 |
结构语法: struct structure_name { //结构体。 } | 类的语法: class class_name { //类的主体。 } |
该结构的实例称为"结构变量"。 | 该类的实例称为"该类的对象"。 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕