I am implementing a class hierarchy and see calls to parent methods that I do not understand why. Using C++11 constructs and this is my first 11 project where I use some features, hence I believe this might be a benign problem.
class A{
   void update(){
       std::err << "Calling A update " << std::endl;
   } 
}
class B: public A{
   void update(){
       std::cout << "In B update! " << std::endl;
   } 
}
class C: public A{
   void update(){
       std::cout << "In C update! " << std::endl;
   } 
}
now somewhere else I have a vector containing either Bs or Cs
std::vector<A> container;
container.push_back(B());
container.push_back(C());
for(auto item: container){
    item.update();
}
prints
Calling A update
Calling A update
Why?
 
     
    