From 859e228e3f7451f8171c7b4bb6d70b8468ecb94d Mon Sep 17 00:00:00 2001 From: Debora Azevedo <deboraazevedoo@gmail.com> Date: Wed, 9 Nov 2016 07:06:24 -0300 Subject: [PATCH] finalizando .cpp e .h de animal (com ponteiros para veterinario e tratador) --- include/animal/animal.h | 22 ++++++++-------------- src/animal/animal.cpp | 21 +++++++++++++++------ 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/include/animal/animal.h b/include/animal/animal.h index 4774b5c..9bdcb9c 100644 --- a/include/animal/animal.h +++ b/include/animal/animal.h @@ -21,8 +21,6 @@ using namespace std; * batismo - nome de batismo do animal * veterinario - veterinario ao qual o animal está associado * tratador - tratador ao qual o animal está associado -* Metodo protegido: -* virtual std::ostream& print(std::ostream&) const = 0; * Métodos públicos: * getId - retorna o id do animal @@ -42,13 +40,10 @@ using namespace std; * getTratador - retorna o tratador do animal * setTratador - modifica o tratador do animal * Animal - Construtor cria um ser do tipo Animal, inicializando os seus atributos -* virtual void imprime()=0 - método para impressão das informações do animal +* virtual void print()=0 - método para impressão das informações do animal * */ class Animal { - private: - virtual std::ostream& print(std::ostream&) const = 0; - protected: int id; string classe; @@ -58,8 +53,8 @@ class Animal { float tamanho; string dieta; string batismo; - Veterinario veterinario; - Tratador tratador; + Veterinario* veterinario; + Tratador* tratador; public: @@ -80,13 +75,12 @@ class Animal { string getBatismo(); void setBatismo(string baptism); Veterinario getVeterinario(); - void setVeterinario(Veterinario vet); + void setVeterinario(Veterinario* vet); Tratador getTratador(); - void setTratador(Tratador caretaker); - friend std::ostream& operator << (std::ostream& output, const Animal& a) { - return a.print(output); // polymorphic print via reference - } - Animal(int identity, string clas, string name, string scientific, char sex, float size, string diet, string baptism, Veterinario vet, Tratador caretaker); + void setTratador(Tratador* caretaker); + virtual void print() = 0; + Animal(int identity, string clas, string name, string scientific, char sex, float size, string diet, string baptism, Veterinario* vet, Tratador* caretaker); + ~Animal(); }; diff --git a/src/animal/animal.cpp b/src/animal/animal.cpp index 5643ecd..ded7499 100644 --- a/src/animal/animal.cpp +++ b/src/animal/animal.cpp @@ -1,5 +1,6 @@ #include "animal.h" -#include <fstream> +#include <iostream> +#include <string> using namespace std; @@ -10,7 +11,7 @@ using namespace std; * baptism - nome de batismo do animal, vet - veterinário associado ao animal, * caretaker - tratador associado ao animal, */ -Animal::Animal(int identity, string clas, string name, string scientific, char sex, float size, string diet, string baptism, Veterinario vet, Tratador caretaker): +Animal::Animal(int identity, string clas, string name, string scientific, char sex, float size, string diet, string baptism, Veterinario* vet, Tratador* caretaker): id(identity), classe(clas), cientifico(scientific), sexo(sex), tamanho(size), dieta(diet), batismo(baptism), @@ -162,7 +163,7 @@ void Animal::setBatismo(string baptism){ * @return veterinario do animal */ Veterinario Animal::getVeterinario(){ - return veterinario; + return (*veterinario); } @@ -170,7 +171,7 @@ Veterinario Animal::getVeterinario(){ * @brief Funcao que modifica o veterinario do animal * @param vet Veterinario do animal */ -void Animal::setVeterinario(Veterinario vet){ +void Animal::setVeterinario(Veterinario* vet){ veterinario = vet; } @@ -179,17 +180,25 @@ void Animal::setVeterinario(Veterinario vet){ * @return tratador do animal */ Tratador Animal::getTratador(){ - return tratador; + return (*tratador); } /** * @brief Funcao que modifica o tratador do animal * @param caretaker Tratador do animal */ -void Animal::setTratador(Tratador caretaker){ +void Animal::setTratador(Tratador* caretaker){ tratador = caretaker; } +/* + Destrutor do Objeto Animal +*/ +Animal::~Animal(){ + + +} + // std::istream& operator>>( std::istream &input, Animal const &A ) { // input >> A.id >> ";" >> A.classe >> ";" >> A.nome >> ";" >> A.cientifico >> ";" // >> A.sexo >> ";" >> A.tamanho >> ";" >> A.dieta >> ";" >> A.batismo; -- GitLab