[ Foro de C++ ]

saber - qué hace este programa con clases

02-May-2020 23:36
Invitado (jordivany)
1 Respuestas

es que quiero saber que se realiza en cada bloque de este código;


#include <iostream>
using namespace std;

// bloque 1
class figura{
private:
    string nombre;
public:
    figura(string);
    string get_nombre();
    virtual double calc_area()=0;

};  // fin del bloque

//bloque 2
figura::figura(string nombre){
this->nombre=nombre;
}
string figura::get_nombre(){
return nombre;
}
//fin del bloque 2

//bloque 3

class circulo : public figura{
private:
    double radio;
public:
    circulo(string, double);
    double calc_area();
};
// fin bloque 3

//bloque 4
circulo::circulo(string color, double radio) : figura (color){
this ->radio=radio;
}
double circulo::calc_area(){
return 3.1416 * radio*radio;
}
//fin bloque4

//bloque 5
class rectangulo : public figura{
private:
    double base;
    double altura;
public:
    rectangulo(string, double, double);
    double calc_area();
};
//fin bloque 5

//bloque 6
rectangulo::rectangulo(string color, double base, double altura) : figura (color){
this-> base=base;
this->altura=altura;
}

double rectangulo::calc_area(){
return base * altura;
}
//fin bloque 6


int main(){
//bloque 7

rectangulo Rectanglel("rectangle1 ", 2 , 5);
cout << "el area del objeto " << Rectanglel.get_nombre() <<
"es de "<< Rectanglel.calc_area()<< "\n";
//fin del bloque 7

//bloque 8
circulo Circle1("circle1 " ,2.6);
cout << "el area del objeto "  << Circle1.get_nombre()<<
"es de "<< Circle1.calc_area()<< "\n";
//fin bloque 8

//bloque 9
rectangulo Rectangle2("rectangle2 " ,2.06, 5.07);
cout << "el area del objeto " << Rectangle2.get_nombre()<<

"es de "<< Rectangle2.calc_area()<< "\n";
// fin bloque 9
return 0;
}


 


03-May-2020 14:28
Nacho Cabanes (+83)

El curso de C++ no incluye detalles de  Programación orientada a Objetos, pero las ideas son básicamente las mismas que en C#, así que puedes mirar el tema 6 de este curso:

https://www.aprendeaprogramar.com/mod/resource/view.php?id=743

Si lo prefieres en video, lo tienes de 55 al 62 de esta versión del curso:

https://www.aprendeaprogramar.com/cursos/verApartado.php?id=4055
 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)