Проблема переопределения виртуальной функции
Хорошо, я пишу игру с вектором класса pairent (врага), который будет заполнен детскими классами (goomba, koopa, boss1), и мне нужно сделать так, чтобы при вызове update он вызывал дочерние классы соответствующее обновление. Мне удалось создать пример моей проблемы.
#include <stdio.h>
class A{
public:
virtual void print(){printf("Hello from A");}
};
class B : public A{
public:
void print(){printf("Hello from B");}
};
int main(){
A ab = B();
ab.print();
while(true){}
}
Требуется вывод: «Привет из B» Вывод получен: «Привет из A»
Как мне заставить его вызывать функцию печати B?