[ Foro de C++ ]
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;
}
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.)