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 original
int main(void){ vector<check*> v; v.push_back(new check1); v.push_back(new check2); v[1]->print(); }