Advertisement
fabgonber

Untitled

Oct 6th, 2020 (edited)
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.28 KB | None | 0 0
  1. /* inicio de main.cpp */
  2. #include <iostream>
  3. #include "triangulo.h"
  4. #include "equilatero.h"
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.   std::cout << "Herencia:\n=========\n";
  10.   int el_perimetro;
  11.  
  12.   std::cout << "\nEjemplo verde:\n";
  13.   Triangulo verde;
  14.   verde.ver();
  15.   verde.setLados(3, 4, 5);
  16.   verde.ver();
  17.   el_perimetro = verde.perimetro();
  18.   cout << "perimetro " << el_perimetro << endl;
  19.  
  20.   std::cout << "\nEjemplo azul:\n";
  21.   Equilatero azul;
  22.   azul.ver();
  23.   azul.setLado(8);
  24.   azul.ver();
  25.   el_perimetro = azul.perimetro();
  26.   cout << "perimetro " << el_perimetro << endl;
  27.  
  28.   std::cout << "\n --- fin del programa --- \n";
  29. }
  30. /* fin de main.cpp */
  31.  
  32. /* inicio de triangulo.h */
  33. #ifndef TRIANGULO_H
  34. #define TRIANGULO_H
  35.  
  36. class Triangulo
  37. {
  38.   public:
  39.     Triangulo();
  40.     ~Triangulo();
  41.     void setLados(int a, int b, int c);
  42.     void ver();
  43.     int perimetro();
  44.  
  45.   protected:
  46.     int lado1;
  47.     int lado2;
  48.     int lado3;
  49.  
  50.   private:
  51.    
  52. };
  53.  
  54. #endif // TRIANGULO_H
  55. /* fin de triangulo.h */
  56.  
  57. /* inicio de triangulo.cpp */
  58. #include <iostream>
  59. #include "triangulo.h"
  60.  
  61. Triangulo::Triangulo()
  62. {
  63.   lado1 = 1;
  64.   lado2 = 1;
  65.   lado3 = 1;
  66. }
  67.  
  68. Triangulo::~Triangulo()
  69. {
  70.   std::cout << "soy el destructor, ";
  71.   std::cout << "mis lados: ";
  72.   std::cout << this->lado1 << ", ";
  73.   std::cout << this->lado2 << ", ";
  74.   std::cout << this->lado3 << ".\n";
  75. }
  76.  
  77. void Triangulo::ver()
  78. {
  79.   std::cout << "mis lados: ";
  80.   std::cout << this->lado1 << ", ";
  81.   std::cout << this->lado2 << ", ";
  82.   std::cout << this->lado3 << ".\n";
  83. }
  84. int Triangulo::perimetro()
  85. {
  86.     return this->lado1+this->lado2+this->lado3;
  87. }
  88.  
  89. void Triangulo::setLados(int a, int b, int c)
  90. {
  91.     this->lado1 = a;
  92.     this->lado2 = b;
  93.     this->lado3 = c;
  94. }
  95. /* fin de triangulo.cpp */
  96.  
  97. /* inicio de equilatero.h */
  98. #ifndef EQUILATERO_H
  99. #define EQUILATERO_H
  100.  
  101. class Equilatero : public Triangulo
  102. {
  103.   public:
  104.     void setLado(int a);
  105.    
  106.   /*
  107.   private:
  108.     int lado1;
  109.     int lado2;
  110.     int lado3;
  111.     */
  112.    
  113. };
  114.  
  115. #endif // EQUILATERO_H
  116. /* fin de equilatero.h */
  117.  
  118. /* inicio de equilatero.cpp */
  119. #include "triangulo.h"
  120. #include "equilatero.h"
  121.  
  122. void Equilatero::setLado(int a)
  123. {
  124.     this->lado1 = a;
  125.     this->lado2 = a;
  126.     this->lado3 = a;
  127. }
  128. /* fin de equilatero.cpp */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement