C++类数组是一种把多个类对象放在一起的数据结构,它的使用方法与普通数组类似。类数组的创建需要先定义一个类,在声明数组时指定类的类型,比如:
class Person
{
public:
int age;
string name;
};
Person students[10];
上面的代码定义了一个Person类,定义了一个类数组students,它由10个Person类对象组成。
类数组的使用方法与普通数组类似,可以使用下标来访问数组中的元素,也可以使用for循环来遍历数组中的元素,比如:
// 访问第3个元素
students[2].age = 18;
students[2].name = "John";
// 遍历数组
for(int i = 0; i < 10; i++)
{
cout << students[i].age << " " << students[i].name << endl;
}
除了使用下标和for循环,还可以使用STL中的迭代器来遍历类数组,比如:
// 使用迭代器遍历
for(Person *p = students; p != students + 10; p++)
{
cout << p->age << " " << p->name << endl;
}
类数组的使用可以大大提高程序的可读性,而且可以方便地对类数组进行排序和查找,比如:
// 使用sort函数对数组排序
sort(students, students + 10, [](Person &p1, Person &p2){
return p1.age < p2.age;
});
// 使用find函数查找指定元素
Person *p = find_if(students, students + 10, [](Person &p){
return p.name == "John";
});
if(p != students + 10)
{
cout << p->age << " " << p->name << endl;
}
C++类数组是一种非常有用的数据结构,它可以方便地对多个类对象进行操作,是程序开发中的一个重要工具。