Buenas.. Estoy empezando a ver estos de las funciones virtuales y las diferentes formas que puede tener un tipo de dato.. tengo este ejemplo
Código C++:
Ver original#include <iostream>
#include <vector>
using namespace std;
class check{
public:
virtual void print(){ cout << "si" << endl;};
};
class check1 : public check{};
class check2 : public check{
public:
void print() {cout << "no" << endl;};
};
int main(void){
vector<check> v;
check1 _check1;
check2 _check2;
v.push_back(_check1);
v.push_back(_check2);
v[1].print();
}
seguna la teoria de poliformosmo el deberia imprimirme "no" pero me sigue imprimiendo si..
cosa que cambia cuando hago esto
Código C++:
Ver originalint main(void){
vector<check*> v;
v.push_back(new check1);
v.push_back(new check2);
v[1]->print();
}