Documentos de Académico
Documentos de Profesional
Documentos de Cultura
C
odigo
El c
odigo a explicar es el siguiente, en donde se enumeraron las lneas a explicarse:
1 # include <iostream>
2 # <string>
3 #define PI 3.14159
4
{
5
6
7
class figura
protected:
int dimension;
std::string nombre;
8 public:
9 figura() :
10 dimension( 0 ), nombre( ){};
11 figura( int dimension, std::string nombre ) :
12 dimension( dimension ), nombre( nombre ){};
13 inline int dimension(){ return dimension; };
14 inline std::string nombre(){ return nombre; };
15 virtual void print(){};
};
16 class rectangulo : public figura
{
17 private:
18 double alto, ancho;
19 public:
20
21
22
23
24
25
26
27
28
29
};
30 class circulo : public figura
{
31 private:
32 double radio;
33
34
35
36
37
38
39
40
41
42
public:
circulo( double radio ) :
figura( 2, circulo ), radio( radio ){};
inline double area(){ return radio* radio*PI; };
inline double perimetro(){ return 2.* radio*PI; };
inline double radio(){ return radio; }
inline void print() {
std::cout << this > nombre() << >
<< area: << this > area()
<< perimetro: << this > perimetro()
43 << std::endl;
}
};
44 class cilindro : public figura
{
45 private:
46 double alto;
47 circulo base;
48
49
50
51
public:
cilindro( double alto, double radio ) :
figura( 3, cilindro ), alto( alto ), base( circulo( radio ) ) {};
inline double area(){ return base.perimetro()* alto; };
2
52
53
54
55
56
57
58
}
};
59 class cubo : public figura
{
60 private:
61 double alto;
62 rectangulo base;
63
64
65
66
67
68
69
70
71
72
}
public:
cubo( double alto, double ancho, double largo ) :
figura( 3, cubo ), alto( alto ), base( rectangulo( ancho, largo ) ) {};
inline double area(){ return base.perimetro()* alto; };
inline double volumen(){ return base.area()* alto; };
inline void print() {
std::cout << this > nombre() << >
<< area superficial: << this > area()
<< volumen: << this > volumen()
<< std::endl;
};
73
74
75
76
77
78
79
}
int main(){
cubo c1( 2., 3., 4.);
cilindro c2( 2., 4.);
c1.print();
c2.print();
c2.base().print();
return 0;
Explicaci
on
figura expresada en el c
odigo conduce a un paraleleppedo.
Por u
ltimo, dentro del main se imprimen algunos resultados, llamando a la
funci
on print. Se define c1 y c2 con algunos valores de la manera en que se
muestra en el c
odigo, entre las lneas 74 y 75. De la lnea 76 a la 78 se imprimen
los resultados con los ci ya definidos.
De esta manera termina la explicacion al codigo referente a herencias y clases.