Advertisement
fabgonber

Untitled

Oct 14th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.23 KB | None | 0 0
  1. /* inicio de main.cpp */
  2. #include <iostream>
  3. #include "triangulo.h"
  4. #include "equilatero.h"
  5. #include "isosceles.h"
  6.  
  7.  using namespace std;
  8.  
  9. int main() {
  10.  
  11.   int el_perimetro;
  12.  
  13.   std::cout << "\nEjemplo verde:\n";
  14.   Triangulo verde;
  15.   verde.ver();
  16.   verde.setLados(3, 4, 5);
  17.   verde.ver();
  18.   el_perimetro = verde.perimetro();
  19.   cout << "perimetro " << el_perimetro << endl;
  20.  
  21.   std::cout << "\nEjemplo azul:\n";
  22.   Equilatero azul;
  23.   azul.ver();
  24.   azul.setLado(8);
  25.   azul.ver();
  26.   el_perimetro = azul.perimetro();
  27.   cout << "perimetro " << el_perimetro << endl;
  28.  
  29.   std::cout << "\nEjemplo amarillo:\n";
  30.   Isosceles amarillo;
  31.   amarillo.ver();
  32.   amarillo.setLados(8,3);
  33.   amarillo.ver();
  34.   el_perimetro = amarillo.perimetro();
  35.   cout << "perimetro " << el_perimetro << endl;
  36.  
  37.   std::cout << "\nEjemplo naranjo:\n";
  38.   Isosceles naranjo;
  39.   naranjo.ver();
  40.   naranjo.setLados(3,8);
  41.   naranjo.ver();
  42.   el_perimetro = naranjo.perimetro();
  43.   cout << "perimetro " << el_perimetro << endl;
  44.  
  45.  
  46.   std::cout << "\nfin de programa.\n\n";
  47. }
  48. /* fin de main.cpp */
  49.  
  50. /* inicio de triangulo.h */
  51. #ifndef TRIANGULO_H
  52. #define TRIANGULO_H
  53.  
  54. class Triangulo
  55. {
  56.   public:
  57.     Triangulo();
  58.     ~Triangulo();
  59.     void setLados(int a, int b, int c);
  60.     void ver();
  61.     int perimetro();
  62.  
  63.   protected:
  64.     int lado1;
  65.     int lado2;
  66.     int lado3;
  67.  
  68.   private:
  69.    
  70. };
  71.  
  72. #endif // TRIANGULO_H
  73. /* fin de triangulo.h */
  74.  
  75. /* inicio de triangulo.cpp */
  76. #include <iostream>
  77. #include "triangulo.h"
  78.  
  79. Triangulo::Triangulo()
  80. {
  81.   lado1 = 1;
  82.   lado2 = 1;
  83.   lado3 = 1;
  84. }
  85.  
  86. Triangulo::~Triangulo()
  87. {
  88.   std::cout << "soy el destructor, ";
  89.   std::cout << "mis lados: ";
  90.   std::cout << this->lado1 << ", ";
  91.   std::cout << this->lado2 << ", ";
  92.   std::cout << this->lado3 << ".\n";
  93. }
  94.  
  95. void Triangulo::ver()
  96. {
  97.   std::cout << "mis lados: ";
  98.   std::cout << this->lado1 << ", ";
  99.   std::cout << this->lado2 << ", ";
  100.   std::cout << this->lado3 << ".\n";
  101. }
  102. int Triangulo::perimetro()
  103. {
  104.     return this->lado1+this->lado2+this->lado3;
  105. }
  106.  
  107. void Triangulo::setLados(int a, int b, int c)
  108. {
  109.     this->lado1 = a;
  110.     this->lado2 = b;
  111.     this->lado3 = c;
  112. }
  113. /* fin de triangulo.cpp */
  114.  
  115. /* inicio de equilatero.h */
  116. #ifndef EQUILATERO_H
  117. #define EQUILATERO_H
  118.  
  119. class Equilatero : public Triangulo
  120. {
  121.   public:
  122.     void setLado(int a);
  123. };
  124.  
  125. #endif // EQUILATERO_H
  126. /* fin de equilatero.h */
  127.  
  128. /* inicio de equilatero.cpp */
  129. #include "triangulo.h"
  130. #include "equilatero.h"
  131.  
  132. void Equilatero::setLado(int a)
  133. {
  134.     this->lado1 = a;
  135.     this->lado2 = a;
  136.     this->lado3 = a;
  137. }
  138. /* fin de equilatero.cpp */
  139.  
  140. /* inicio de isosceles.h */
  141. #ifndef ISOSCELES_H
  142. #define ISOSCELES_H
  143.  
  144. class Isosceles : public Triangulo
  145. {
  146.   public:
  147.     void setLados(int a, int b);
  148. };
  149.  
  150. #endif // ISOSCELES_H
  151. /* fin de isosceles.h */
  152.  
  153. /* inicio de isosceles.cpp */
  154. #include "triangulo.h"
  155. #include "isosceles.h"
  156.  
  157. void Isosceles::setLados(int a, int b)
  158. {
  159.     int mas_largo, mas_corto;
  160.     if (a>b)
  161.     {
  162.         mas_largo = a;
  163.         mas_corto = b;
  164.     }
  165.     else
  166.     {
  167.         mas_largo = b;
  168.         mas_corto = a;
  169.     }
  170.     this->lado1 = mas_corto;
  171.     this->lado2 = mas_largo;
  172.     this->lado3 = mas_largo;
  173. }
  174. /* fin de isosceles.cpp */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement