考虑一个简单的类:
class SimpleClass {
int a;
public:
SimpleClass():a(0){}
SimpleClass(int n):a(n){}
// other functions
};
SimpleClass *p1, *p2;
p1 = new SimpleClass[5];
p2 = new SimpleClass(3);
在这种情况下,对于新分配的对象p1会调用默认构造函数
SimpleClass()
,对于p2则会调用参数化构造函数。我的问题是:是否可能使用new运算符分配数组并使用参数化构造函数进行初始化?例如,如果我希望该数组被初始化为具有变量a
值分别为10、12、15等的对象,是否可以在使用new运算符时传递这些值?我知道使用STL向量来处理对象数组是一个更好的方法。但我想知道是否可能使用new来分配数组实现上述操作。