在C++中创建参数化对象数组可以通过使用模板来实现。模板是一种通用的编程工具,可以根据不同的参数类型生成不同的代码。
下面是一个示例代码,演示如何在C++中创建参数化对象数组:
#include <iostream>
template <typename T>
class MyArray {
private:
T* data;
int size;
public:
MyArray(int size) {
this->size = size;
data = new T[size];
}
~MyArray() {
delete[] data;
}
T& operator[](int index) {
return data[index];
}
};
class MyClass {
private:
int value;
public:
MyClass(int value) {
this->value = value;
}
int getValue() {
return value;
}
};
int main() {
MyArray<MyClass> array(5);
for (int i = 0; i < 5; i++) {
array[i] = MyClass(i);
}
for (int i = 0; i < 5; i++) {
std::cout << array[i].getValue() << " ";
}
return 0;
}
在上面的代码中,我们定义了一个模板类MyArray
,它接受一个类型参数T
。在MyArray
类中,我们使用T* data
来存储对象数组的数据,并使用size
来记录数组的大小。构造函数使用new
运算符动态分配内存,并在析构函数中使用delete[]
释放内存。
在main
函数中,我们使用MyArray<MyClass>
来创建一个存储MyClass
对象的数组。然后,我们使用循环将不同的MyClass
对象赋值给数组的不同元素。最后,我们再次使用循环打印数组中每个对象的值。
这样,我们就成功地在C++中创建了一个参数化对象数组。
注意:以上代码仅为示例,实际应用中可能需要根据具体情况进行适当修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云