Polimorfismo en C++
BSD
Veamos:
#include <iostream>
#include <vector>
class window {
public:
virtual void draw()
{
std::cout << "Window" << std::endl;
}
};
class button : public window {
public:
void draw()
{
std::cout << "Button" << std::endl;
}
};
class entry_field : public window {
public:
// No vamos a definir ninguna funcion draw()
};
class icon : public window {
public:
void draw()
{
std::cout << "Icon" << std::endl;
}
};
int main(int argc, char* argv[])
{
std::vector<window*> windows;
windows.push_back(new button);
windows.push_back(new entry_field);
windows.push_back(new icon);
for (std::vector<window*>::const_iterator i = windows.begin();
i != windows.end(); i++)
{
(*i)->draw(); // POLIMORFISMO: ¿Cual draw() llamamos?
}
return(0);
}
Permalink: http://www.mononeurona.org/entries/view/asarch/2103
Commentblogs:Ponte chingón con PHP, registrate ahí y hay unos videotutoriales de PHP y MySQL http://www.illasaron.com/
2010-02-16 11:29:34-06










