Saludos, aunque se que el foro es enfocado en electronica, supongo que es muy cercana la duda con respecto a programacion en c que es muy afin.
He estudiado conceptos de clases, entonces, en especial un ejemplo de polimorfismo, muy simple, del cual tengo una duda que me inquieta ya que mis conocimientos son muy limitados, el ejemplo acontinuacion:
#include <iostream>
using namespace std;
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); }
};
class CTriangle: public CPolygon {
public:
int area ()
{ return (width * height / 2); }
};
int main () {
CRectangle rect;
CTriangle trgl;
CPolygon * ppoly1 = ▭
CPolygon * ppoly2 = &trgl;
ppoly1->set_values (4,5);
ppoly2->set_values (4,5);
cout << rect.area() << endl;
cout << trgl.area() << endl;
system ("PAUSE");
return 0;
}
La duda es, en las lineas 4 a 6 de la funcion main, se hace uso de ppoly1 y ppoly2, alguien me podria aclarar de donde salen estos "nombres" ya que no los veo declarados en ninguna linea, mil gracias de antemano.
ed. Por cierto, tambien desconozco que uso recibe el operador -> aunque presumo es de asiganacion.
Saludos.
He estudiado conceptos de clases, entonces, en especial un ejemplo de polimorfismo, muy simple, del cual tengo una duda que me inquieta ya que mis conocimientos son muy limitados, el ejemplo acontinuacion:
#include <iostream>
using namespace std;
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); }
};
class CTriangle: public CPolygon {
public:
int area ()
{ return (width * height / 2); }
};
int main () {
CRectangle rect;
CTriangle trgl;
CPolygon * ppoly1 = ▭
CPolygon * ppoly2 = &trgl;
ppoly1->set_values (4,5);
ppoly2->set_values (4,5);
cout << rect.area() << endl;
cout << trgl.area() << endl;
system ("PAUSE");
return 0;
}
La duda es, en las lineas 4 a 6 de la funcion main, se hace uso de ppoly1 y ppoly2, alguien me podria aclarar de donde salen estos "nombres" ya que no los veo declarados en ninguna linea, mil gracias de antemano.
ed. Por cierto, tambien desconozco que uso recibe el operador -> aunque presumo es de asiganacion.
Saludos.
Última edición: