Because I get asked this question over and over again: when creating an array of some type there is no way to call something else but the default constructor for each element.
If you need to pass some initaliziation information to the constructor I see two possiblities
- set some static variable and let the default constructor consider it
- create an array of pointers, iterate over it and call new for each obejct
Update
If the array size is known at compile time one can say things straight away like this: thingy arr7[42] = {1, argv[1], thingy(3.0)};
where the class
thingy
has a default constructor, one for integers, one for const characters and an explicit one for doubles.Thanks to Schabi for this
No comments:
Post a Comment