在 C++ 中,对象数组是由类的实例(对象)组成的数组。与基本数据类型数组不同,对象数组的每个元素都是一个类的实例,因此会涉及构造函数、析构函数等特殊行为。以下是关于 C++ 对象数组的详细说明:
1. 声明对象数组
声明对象数组的语法与普通数组类似,但需要确保类有默认构造函数(除非显式初始化):
ClassName arrayName[size];
示例:
class Person {
public:string name;int age;// 默认构造函数(必需,否则需显式初始化每个元素)Person() : name(""), age(0) {}
};Person people[3]; // 创建包含 3 个 Person 对象的数组
2. 初始化对象数组
方式 1:默认构造函数
若类有默认构造函数,数组元素会自动调用它:
Person people[3]; // 每个元素调用 Person::Person()
方式 2:显式初始化(C++11 及以后)
使用统一初始化语法({}
)为每个元素传递参数:
Person people[3] = {Person("Alice"