C++结构体用法实例分析
本文将详细介绍C++结构体的用法,并提供两个实例说明。
结构体
结构体是C++中一种用户自定义的数据类型,可以包含多个不同类型的数据成员。其定义方式如下:
struct <结构体名称> {
<数据类型> <数据成员1>;
<数据类型> <数据成员2>;
...
<数据类型> <数据成员n>;
};
结构体的定义
例如,我们想要定义一个表示学生信息的结构体,包括学生的姓名、年龄和性别:
struct Student {
string name;
int age;
char sex;
};
结构体的初始化
结构体可以使用两种方式进行初始化:
1. 直接初始化
使用直接初始化可以在定义时完成结构体成员的初始化,如下所示:
Student stu = {"Tom", 18, 'M'};
2. 聚合初始化
聚合初始化是C++11新增的功能,可以让我们使用更简洁的方式完成结构体成员的初始化,如下所示:
Student stu{"Tom", 18, 'M'};
结构体的访问
使用点操作符可以访问结构体的成员数据,如下所示:
cout << "Name: " << stu.name << endl;
cout << "Age: " << stu.age << endl;
cout << "Sex: " << stu.sex << endl;
示例1
我们现在有多个学生的成绩信息,每个学生包含学号、姓名、语文、数学和英语三科成绩。我们可以定义一个结构体来表示学生成绩,并使用数组来保存多个学生的成绩信息。
struct Score {
string id;
string name;
float chinese;
float math;
float english;
};
int main() {
Score scores[3] = {
{"001", "Tom", 90, 94, 88},
{"002", "Jerry", 88, 80, 92},
{"003", "Mike", 86, 89, 91}
};
for (int i = 0; i < 3; i++) {
cout << "ID: " << scores[i].id << endl;
cout << "Name: " << scores[i].name << endl;
cout << "Chinese: " << scores[i].chinese << endl;
cout << "Math: " << scores[i].math << endl;
cout << "English: " << scores[i].english << endl;
}
return 0;
}
示例2
现在我们想要实现一个能够记录车辆信息的程序,包括品牌、型号、颜色和价格。我们可以定义一个结构体来表示车辆信息,并使用vector来保存多个车辆的信息。
struct Car {
string brand;
string model;
string color;
float price;
};
int main() {
vector<Car> cars;
cars.push_back({"Porsche", "Cayenne", "White", 450000.0});
cars.push_back({"Tesla", "Model S", "Red", 550000.0});
cars.push_back({"Mercedes-Benz", "S-Class", "Black", 540000.0});
for (auto car : cars) {
cout << "Brand: " << car.brand << endl;
cout << "Model: " << car.model << endl;
cout << "Color: " << car.color << endl;
cout << "Price: " << car.price << endl;
}
return 0;
}
以上是两个使用结构体的实例说明,希望可以帮助大家更好的理解结构体的用法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++结构体用法实例分析 - Python技术站