C++ Structs基础教程文档
收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體
在C++中,类和Structs是用于创建类实例的蓝图。Structs用于轻型对象,例如Rectangle,color,Point等。
与类不同,C++中的Structs是值类型,而不是引用类型。如果您具有在创建struct之后不希望修改的数据,这将很有用。
C++Structs是不同数据类型的集合。它类似于保存不同类型数据的类。
Structs语法
struct structure_name { // member declarations. }
在上面的声明中,通过在 struct关键字之前加上标识符(Structs名称)来声明Structs。在花括号内,我们可以声明不同类型的成员变量。 请考虑以下情况:
struct Student { char name[20]; int id; int age; }
在以上情况下,Student是一个包含三个变量名称,id和age的Structs。声明Structs时,不会分配任何内存。创建Structs变量后,便会分配内存。让我们了解这种情况。
如何创建Structure的实例?
Structs变量可以定义为:
学生s;
在这里,s是学生类型的Structs变量。创建Structs变量后,将分配内存。学生Structs包含一个char变量和两个整数变量。因此,一个char变量的内存为1个字节,两个int为2 * 4 =8、s变量占用的总内存为9个字节。
如何访问Structs变量:
只需使用Structs实例,后跟点(。)运算符,然后使用Structs字段,即可访问Structs变量。
例如:
s.id = 4;
在上面的语句中,我们使用 dot(。)运算符访问StudentStructs的id字段,并将值4分配给id字段。
C++Structs示例
我们来看一个简单的RectangleStructs示例,它具有两个数据成员宽度和高度。
#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
C++Structs示例: 使用构造函数和方法
让我们看看另一个Structs示例,其中我们使用构造函数初始化数据和方法来计算矩形的面积。
#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
Structsv/s类
Structs | Class |
如果未明确声明访问说明符,则默认情况下,访问说明符将是公共的。 | 如果未明确声明访问说明符,则默认情况下,访问说明符将为私有。 |
Structs的语法: struct structure_name { //Structs体。 } |
Class的语法: 类class_name { //类的主体。 } |
该Structs的实例称为"Structs变量"。 | 该类的实例称为"该类的对象"。 |