c++定义子类数组的构造函数
时间: 2023-11-15 20:06:05 浏览: 70
c++ 类的定义 和构造函数
在 C++ 中,定义子类数组的构造函数可以使用以下步骤:
1. 在子类中定义一个无参构造函数。
2. 在子类中定义一个带参数的构造函数,该构造函数接受与基类构造函数相同的参数。
3. 在子类的构造函数中调用基类的构造函数。
例如,假设有一个名为 Animal 的基类和一个名为 Dog 的子类,可以按照以下方式定义子类数组的构造函数:
```
class Animal {
public:
Animal() {
// 基类的无参构造函数
}
Animal(int age) {
// 基类的带参数构造函数
}
};
class Dog : public Animal {
public:
Dog() : Animal() {
// 子类的无参构造函数
}
Dog(int age) : Animal(age) {
// 子类的带参数构造函数
}
};
```
然后,可以使用以下方式定义一个包含 10 个 Dog 对象的数组:
```
Dog dogs[10];
```
在这种情况下,将自动调用 Dog 的无参构造函数来创建每个数组元素。如果想要调用 Dog 的带参数构造函数,可以使用以下方式:
```
Dog dogs[10] = {
Dog(1), Dog(2), Dog(3), Dog(4), Dog(5),
Dog(6), Dog(7), Dog(8), Dog(9), Dog(10)
};
```
这将创建一个包含 10 个 Dog 对象的数组,并为每个对象传递一个不同的年龄参数。
阅读全文