1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <iostream> using namespace std; class Figura { public: // Es importante que la clase base sea polimorfica agregándole al menos una función virtual: virtual ~Figura() { }; }; class Triangulo : public Figura { }; class Cuadrado : public Figura { }; main() { Figura *figura1 = new Cuadrado; Figura *figura2 = new Triangulo; if ( dynamic_cast<Cuadrado *>( figura1 ) ) cout <<"La figura1 es un Cuadrado" <<endl; else if ( dynamic_cast<Triangulo *>( figura1 ) ) cout <<"La figura1 es un Triangulo" <<endl; if ( dynamic_cast<Cuadrado *>( figura2 ) ) cout <<"La figura2 es un Cuadrado" <<endl; else if ( dynamic_cast<Triangulo *>( figura2 ) ) cout <<"La figura2 es un Triangulo" <<endl; return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEZpZ3VyYSB7CgogICBwdWJsaWM6CgogICAgIC8vIEVzIGltcG9ydGFudGUgcXVlIGxhIGNsYXNlIGJhc2Ugc2VhIHBvbGltb3JmaWNhIGFncmVnw6FuZG9sZSBhbCBtZW5vcyB1bmEgZnVuY2nDs24gdmlydHVhbDoKCiAgICAgdmlydHVhbCB+RmlndXJhKCkgeyB9OwoKfTsKCmNsYXNzIFRyaWFuZ3VsbyA6IHB1YmxpYyBGaWd1cmEgewoKfTsKCmNsYXNzIEN1YWRyYWRvIDogcHVibGljIEZpZ3VyYSB7Cgp9OwoKbWFpbigpIHsKCiAgIEZpZ3VyYSAqZmlndXJhMSA9IG5ldyBDdWFkcmFkbzsKICAgRmlndXJhICpmaWd1cmEyID0gbmV3IFRyaWFuZ3VsbzsKCiAgIGlmICggZHluYW1pY19jYXN0PEN1YWRyYWRvICo+KCBmaWd1cmExICkgKQoKICAgICAgY291dCA8PCJMYSBmaWd1cmExIGVzIHVuIEN1YWRyYWRvIiA8PGVuZGw7CgogICBlbHNlIGlmICggZHluYW1pY19jYXN0PFRyaWFuZ3VsbyAqPiggZmlndXJhMSApICkKCiAgICAgIGNvdXQgPDwiTGEgZmlndXJhMSBlcyB1biBUcmlhbmd1bG8iIDw8ZW5kbDsKCiAgIGlmICggZHluYW1pY19jYXN0PEN1YWRyYWRvICo+KCBmaWd1cmEyICkgKQoKICAgICAgY291dCA8PCJMYSBmaWd1cmEyIGVzIHVuIEN1YWRyYWRvIiA8PGVuZGw7CgogICBlbHNlIGlmICggZHluYW1pY19jYXN0PFRyaWFuZ3VsbyAqPiggZmlndXJhMiApICkKCiAgICAgIGNvdXQgPDwiTGEgZmlndXJhMiBlcyB1biBUcmlhbmd1bG8iIDw8ZW5kbDsKCiAgIHJldHVybiAwOwoKfQo=
-
upload with new input
-
result: Success time: 0.01s memory: 0 kB returned value: 0
La figura1 es un Cuadrado La figura2 es un Triangulo



