На самом деле вы можете использовать новое место размещения для этого:
MyClass * myVar; myVar = reinterpret_cast<MyClass *>(new char[num * sizeof(MyClass)]); int i = 0; for (i = 0; i < num; i++) { new(&myVar[i]) MyClass(0,0); }