本文概述
在C ++中, 类和结构是用于创建类实例的蓝图。结构用于轻型对象, 例如矩形, 颜色, 点等。
与类不同, C ++中的结构是值类型, 而不是引用类型。如果你有不希望在创建结构后修改的数据, 这将很有用。
C ++结构是不同数据类型的集合。它类似于保存不同类型数据的类。
结构的语法
struct structure_name
{
// member declarations.
}
在上面的声明中, 通过在struct关键字之后加上identifier(结构名称)来声明结构。在花括号内, 我们可以声明不同类型的成员变量。请考虑以下情况:
struct Student
{
char name[20];
int id;
int age;
}
在上述情况下, Student是一个包含三个变量名称, id和age的结构。声明结构时, 不会分配任何内存。创建结构的变量后, 便会分配内存。让我们了解这种情况。
如何创建结构实例?
结构变量可以定义为:
学生们;
此处, s是学生类型的结构变量。创建结构变量后, 将分配内存。学生结构包含一个char变量和两个整数变量。因此, 一个char变量的内存为1个字节, 两个int为2 * 4 =8。s变量占用的总内存为9个字节。
如何访问结构变量
可以通过简单地使用结构实例, 后跟点(。)运算符和结构字段的方式来访问结构变量。
例如:
s.id = 4;
在上面的语句中, 我们使用dot(。)运算符访问Student结构的id字段, 并将值4分配给id字段。
C ++结构示例
让我们看一个简单的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
C ++结构示例:使用构造函数和方法
让我们看一下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
结构v / s类别
结构体 | 类 |
---|---|
如果未明确声明访问说明符, 则默认情况下, 访问说明符将是公共的。 | 如果未明确声明访问说明符, 则默认情况下, 访问说明符将为私有。 |
结构的语法:struct structure_name {//结构体。 } | 类的语法:class class_name {//类的主体。 } |
结构的实例称为“结构变量”。 | 该类的实例称为“该类的对象”。 |
评论前必须登录!
注册