Technically it's not possible, but you can certainly work around it. The easiest way is to get rid of your default constructor and give your other constructor a default value for its parameter: A(int val = 17) { ... } You can also go with more complex solutions, such as global or static member variables which you initialize before creating the array, and then perhaps increment inside the constructor as each element is created. No matter what you do, all elements of the array will call the same constructor. There's no way out of it. Regards, Alvaro
When birds fly in the right formation, they need only exert half the effort. Even in nature, teamwork results in collective laziness. -- despair.com