我有一个基类A和一些继承自A的B,C,...类。 我想知道我是否有义务使用多态来将一些派生类对象存储在一个向量中。
标准方式是:
std::vector<A*> myVector;
A* obj1 = new B;
A* obj2 = new C;
myVector.push_back(obj1);
myVector.push_back(obj2);
但是,如果我不需要使用多态,我可以吗?
std::vector<A> myVector;
B obj1;
C obj2;
myVector.push_back(obj1);
myVector.push_back(obj2);