



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Un ejemplo de herencia simple y multinivel en C++ a través de la creación de clases Cuadrilatero, Rectángulo, Rombo, Trapecio, Circulo, Cilindro y CilindroHueco. Cada clase hereda propiedades y métodos de la clase superior y agrega comportamientos propios. El documento incluye la definición de las clases, la creación de objetos y la calculación de áreas y volúmenes.
Tipo: Ejercicios
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




#pragma once //Cuadrilatero regular //cuadrado, rombo, rectangulo #include
return ladoa * ladob / 2; } }; #pragma once #include "Cuadrilatero.h" class Trapecio : public CCuadrilatero { private: int altura; public: Trapecio() {} ~Trapecio() {} void setAltura(int a) { altura = a; } int getAltura() { return altura; } //comportameinto double calculaArea() { return altura(ladoa + ladob) / 2; } }; #include "Rectangulo.h" #include "Rombo.h" #include "Trapecio.h" //Herencia simple de un nivel con una subclase void main() { Rectangulo or = new Rectangulo(); or - >setLadoa(40); or - >setLadob(50); cout << "ARea: "<<or->calculaArea() << endl; CRombo* orombo = new CRombo(); orombo->setLadoa(50); orombo->setLadob(30); cout << "Area del rombo : " << orombo->calcularArea() << endl; Trapecio* ot = new Trapecio(); ot->setLadoa(20); ot->setLadob(30); ot->setAltura(15); cout << "Area del trapecio : " << ot->calculaArea() << endl; system("pause>>NULL"); } #pragma once
//comportamientos double areaCilindro() { return longitudCircunferencia() * altura+2areaCirculo(); } double volumenCilindro() { return areaCirculo() * altura; } }; / circulo radio areaCIrculo LongitudCircundefrencia ciclindro altura areaCilindro volumneCilindro cilindrioHUeco rarioHUeco areaCilindroHUeco volumenCilindroHUeco / #pragma once #include "Cilindro.h" class CClindroHueco: public Cilindro { private: int radioCH; public: CClindroHueco() {} ~CClindroHueco() {} void setRadioCH(int r) { radioCH = r; } int getRadioCH() { return radioCH; } //comportamientos double areaCilindroH() { return areaCirculo() * altura + 2 * 3.1416 * radioCH * altura+ 2(areaCilindro()-3.1416radioCHradioCH); } double volumenCilindroHueco() { return volumenCilindro()- 3.1416 * radioCH * radioCH*altura; } }; #include "CilindroHueco.h" //Herencia simple multinivel (2 niveles) void main() {
CClindroHueco* och = new CClindroHueco(); och->setRadio(30); och->setRadioCH(20); och->setAltura(45); cout << "Area del circulo : " << och->areaCirculo() << endl; cout << "Area del cilindro : " << och->areaCilindro() << endl; cout << "Area del cilindro hueco : " << och->areaCilindroH() << endl; system("pause>>NULL"); }