I have a base class A and some classes B, C, ... which inherits from A. I would like to know if I am obliged to use polymorphism to store some derived class objects in a vector for example.
The standard way is:
std::vector<A*> myVector;
A* obj1 = new B;
A* obj2 = new C;
myVector.push_back(obj1);
myVector.push_back(obj2);
However, if I don't need to use polymorphism can I do?
std::vector<A> myVector;
B obj1;
C obj2;
myVector.push_back(obj1);
myVector.push_back(obj2);