Problema que substitui a função virtual
Ok, estou escrevendo um jogo que tem o vetor de uma classe emparelhada (inimiga) que será preenchida com classes de crianças (goomba, koopa, boss1) e preciso fazer isso quando chamo de atualização, chama as classes de crianças respectiva atualização. Consegui criar um exemplo do meu problema.
#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){}
}
Saída desejada: "Hello from B" Saída obtida: "Hello from A"
Como faço para chamar a função de impressão de B?