Ayuda con dos preguntas de programación en C
#include lt;iostreamgt;
#include lt;cmathgt;
usando el espacio de nombres std;
punto de clase
{
público:
punto();
punto(doble x, doble y
doble distancia(); );
p>privado:
estructura coordinada
{
doble x
doble y;
}coord;
doble dist;
};
punto::punto()
{
coord.x = 0.0;
coord.y = 0.0
dist = 0.0; p>punto::punto(doble x, doble y)
{
coord.x = x;
coord.y = y;
dist = sqrt (x * x y * y);
}
punto doble en línea: distancia()
{
devolver dist;
}
int main()
{
punto a(3, 4), b( 5 , 12);
cout lt; "Distancia desde el origen al punto a(3, 4):" lt; a.distance() lt; p>
cout lt; "Distancia desde el origen al punto b(12, 13):" lt; b.distance() lt;
#include lt;iostreamgt;
usando el espacio de nombres std;
forma de clase
{
public :
virtual const char* ShapeName()const = 0
virtual double Area()const{return 0.0;}
virtual ~shape() { };
};
punto de clase: forma pública
{
público:
const char * ShapeName() const;
amigo ostreamamp; operador lt; (ostreamamp; os, const pointamp; pt); nombre;
};
char* punto: .nombre = "Punto";
p>inline const char* point::ShapeName()const
{
nombre de retorno;
}
operador ostreamamp en línea; lt. (ostreamamp; os, const pointamp; pt)
{
os lt; pt.ShapeName() lt; p> p>
return os;
}
círculo de clase: forma pública
{
público:
círculo explícito (doble r);
const char* ShapeName()const;
double Area()const.
amigo operador ostreamamp; lt; lt; (ostreamamp; os, const círculoamp; circ);
privado:
nombre de char* estático;
doble pi estático;
radio doble;
};
char* círculo:: nombre = "Círculo";
doble círculo:: pi = 3,14159;
círculo::círculo(doble r):radio(r)
{
}
const char* en línea círculo::NombreDeForma () const
{
nombre de retorno;
}
doble círculo en línea: Área() const
{
return pi * radio * radio;
}
operador ostreamamp en línea lt; / p>
{
sistema operativo lt; circ.ShapeName() lt; '\n'; }
int main()
{
forma* ps = nuevo punto
cout lt; Nombre de forma () lt; '\n';
eliminar ps;
ps = nuevo círculo(3); - gt; Nombre de forma() lt; '\n';
cout lt; ps-gt; eliminar ps;
}