Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- De un caballo se sabe: peso, nombre, estatura, fecha de nacimiento (yyyymmdd), raza (arabe, purasangre, percheron, andaluz, cob), genero. Un caballo come, camina, trota, galopa y duerme. Un caballo puede recibir caricas, pero si el caballo es salvaje se encabritará y si es domesticado aceptará la caricia.
- 1.- Construya el diagrama de clases, se recomienda utilizar dia (http://dia-installer.de/)
- 2.- Haga un código en C++ que represente fielmente su diagrama de clases, su código debe tener las clases separadas en archivos.
- pd: no olvidar constructores, destructores, setters, getters
- */
- /* inicio de main */
- #include <iostream>
- #include "caballo.h";
- using namespace std;
- int main() {
- cout << "Ejemplo\n";
- int un_peso;
- bool x;
- Caballo matias;
- // como usar setters con validacion:
- x = false;
- do {
- cout << "ingrese peso ?";
- cin >> un_peso;
- x = matias.setPesoValidado(un_peso);
- }
- while (x!=true);
- }
- /* fin de main */
- /* inicio de caballo.h */
- #ifndef CABALLO_H
- #define CABALLO_H
- class Caballo
- {
- public:
- // Constructor
- Caballo();
- // Destructor
- ~Caballo();
- // Setters:
- /// void setPeso(int a); // comentado para que exista el validado
- bool setPeso(int a); // peso validado
- void setEstatura(int a);
- void setFechaDeNacimiento(int a);
- void setNombre(string a);
- void setRaza(string a);
- void setGenero(string a);
- // Getters:
- int getPeso();
- int getEstatura();
- int getFechaDeNacimiento();
- string getNombre();
- string getRaza();
- string getGenero();
- // Metodos:
- void trotar();
- void caminar();
- void comer();
- void galopar();
- void dormir();
- protected:
- int peso;
- int estatura;
- string nombre;
- int fechaDeNacimiento;
- string raza;
- string genero;
- private:
- };
- #endif // CABALLO_H
- /* fin de caballo.h */
- /* inicio de salvaje.h */
- #ifndef SALVAJE_H
- #define SALVAJE_H
- class Salvaje : public Caballo
- {
- public:
- void recibirCaricias();
- };
- #endif // SALVAJE_H
- /* fin de salvaje.h */
- /* inicio de domesticado.h */
- #ifndef DOMESTICADO_H
- #define DOMESTICADO_H
- class Domesticado : public Caballo
- {
- public:
- void recibirCaricias();
- };
- #endif // DOMESTICADO_H
- /* fin de domesticado.h */
- /* inicio de caballo.cpp */
- #include <iostream>
- #include "caballo.h"
- using namespace std;
- Caballo::Caballo()
- {
- // truco... copie todos los setters y pongales cero.
- this->setPeso(0);
- this->setEstatura(0);
- this->setFechaDeNacimiento(0);
- this->setNombre("");
- this->setRaza("");
- this->setGenero("");
- }
- Caballo::~Caballo()
- {
- std::cout << "soy ";
- std::cout << this->nombre;
- std::cout << " y me suicide" << endl;
- }
- /* inicio de caballo.cpp */
- #include <iostream>
- #include "caballo.h"
- using namespace std;
- Caballo::Caballo()
- {
- // truco... copie todos los setters y pongales cero.
- this->setPeso(0);
- this->setEstatura(0);
- this->setFechaDeNacimiento(0);
- this->setNombre("");
- this->setRaza("");
- this->setGenero("");
- }
- Caballo::~Caballo()
- {
- std::cout << "soy ";
- std::cout << this->nombre;
- std::cout << " y me suicide" << endl;
- }
- /*
- // eliminado para que exista el validado.
- void Caballo::setPeso(int a)
- {
- this->peso = a;
- }
- */
- bool Caballo::setPeso(int a)
- {
- // con validacion interna
- if (a>0)
- {
- this->peso = a;
- return true;
- }
- else
- {
- return false;
- }
- }
- /* fin de caballo.cpp */
- /* fin de caballo.cpp */
- /* inicio de salvaje.cpp */
- #include <iostream>
- #include "caballo.h"
- #include "salvaje.h"
- using namespace std;
- void Salvaje::recibirCaricias()
- {
- cout << "me enoje y me encabrito" << endl;
- }
- /* fin de salvaje.cpp */
- /* inicio de domesticado.cpp */
- #include <iostream>
- #include "caballo.h"
- #include "domesticado.h"
- using namespace std;
- void Domesticado::recibirCaricias()
- {
- cout << "acepto y soy feliz si fuera gato ronronearia" << endl;
- }
- /* fin de domesticado.cpp */
Add Comment
Please, Sign In to add comment