c++类的对象数组初始化
时间: 2023-10-25 17:08:13 浏览: 325
在C++中,可以通过对象数组初始化来创建一个由多个对象组成的数组。对象数组初始化的方式有多种,下面是其中两种常用的方式:
1. 使用默认构造函数初始化对象数组
如果类中有默认构造函数,那么可以使用以下方式初始化对象数组:
```cpp
class MyClass {
public:
MyClass() {
// 默认构造函数
}
};
int main() {
MyClass arr[5]; // 创建由5个MyClass对象组成的数组
return 0;
}
```
在上面的例子中,`MyClass arr[5]` 创建了一个由5个MyClass对象组成的数组,这些对象都是使用默认构造函数初始化的。
2. 使用带参数的构造函数初始化对象数组
如果类中有带参数的构造函数,那么可以使用以下方式初始化对象数组:
```cpp
class MyClass {
public:
MyClass(int x) {
// 带参数的构造函数
}
};
int main() {
MyClass arr[5] = {MyClass(1), MyClass(2), MyClass(3), MyClass(4), MyClass(5)}; // 创建由5个MyClass对象组成的数组,并使用带参数的构造函数初始化
return 0;
}
```
在上面的例子中,`MyClass arr[5]` 创建了一个由5个MyClass对象组成的数组,并使用带参数的构造函数初始化。也可以使用类的默认构造函数来初始化数组的一部分元素,例如:
```cpp
class MyClass {
public:
MyClass() {
// 默认构造函数
}
MyClass(int x) {
// 带参数的构造函数
}
};
int main() {
MyClass arr[5] = {MyClass(1), MyClass(), MyClass(3)}; // 创建由5个MyClass对象组成的数组,并使用带参数的构造函数和默认构造函数初始化
return 0;
}
```
在上面的例子中,`MyClass arr[5]` 创建了一个由5个MyClass对象组成的数组,并使用带参数的构造函数和默认构造函数初始化。其中,第一个和第三个元素使用带参数的构造函数初始化,第二个元素使用默认构造函数初始化。
阅读全文