Duplicar posibles:
Finding the type of an object in C++C++ polimorfismo: Comprobación de tipo de datos de la clase sub
Hola,
Lo siento si es un duplicado, pero no fue capaz de encontrar respuesta a mi pregunta aquí.
Supongamos que hemos siguiente estructura de clases en C++:
class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b; }
};
class CRectangle: public CPolygon {
public:
int area()
{ return (width * height); }
};
Ahora tengo un puntero al objeto CPolygon. ¿Cómo puedo comprobar si en realidad es un puntero al objeto de la clase CRectangle?
Como un lado no deberías considerar no hacer eso. Si crees que debes hacerlo, probablemente haya algo mal con tu diseño. –
Es * siempre * es. No es necesario verificar Además, * por favor * no anteponga los nombres de su clase con 'C'. Este fue * nunca * un estilo recomendado y su uso generalizado se basa en un malentendido de las convenciones de nombres de MFC. –
Así no es como funciona el polimorfismo. Polimorfismo significa eliminar la necesidad de verificar esto. – delnan