1

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);
Kerrek SB
  • 464,522
  • 92
  • 875
  • 1,084
DarkVapor
  • 61
  • 6

0 Answers0