+ 7
How can I assign to each constructor separately when declaring a vector of class objects?
Say I have a class I've named MyClass, with two members, a and b, and a constructor with a member initializer for both. The constructor looks something like this, MyClass::MyClass (int x, int y):a(x), b(y){ } I've made a vector of objects off of the class. vector <MyClass> object1(2, MyClass(15,10)); How can I pass separately to the constructors of object1[0] and object1[1]?
1 Answer
+ 2
You can use an initializer list instead:
vector<MyClass> object1 = { MyClass(15,10), MyClass(5, 9) };
You can also use another set of {}'s to make the compiler auto deduce the type:
vector<MyClass> object1 = { {15,10}, {5, 9} };
Also the '=' is optional.