Skip to content
Snippets Groups Projects
anfibionativo.cpp 2.71 KiB
Newer Older
#define CARACTER_SEPARADOR ';'
#include <fstream>
#include <iostream>
#include <string>
#include <cstdlib>
* @brief Sobrecarga do operador de extração para animal do tipo AnfibioNativo
* @param  input - strem de entrada
std::istream& operator>> (std::istream &input, AnfibioNativo &anfnat){
    string aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.id = atoi(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.nome = atoi(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.classe = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.cientifico = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.sexo = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.tamanho = atof(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.dieta = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.batismo = aux;
    //getline (input,aux,CARACTER_SEPARADOR);
    //anfnat.veterinario->id = atoi(aux.c_str());
    //getline (input,aux,CARACTER_SEPARADOR);
    //anfnat.tratador->id = atoi(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.total_mudas = atoi(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.ultima_muda = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.ibama = aux;
    getline (input,aux);
    anfnat.uf_origem = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    anfnat.autorizacao = aux;
    return input;
}

  /**
  * @brief Construtor cria um animal do tipo AnfíbioNativo, que toma Anfibio,
	*  				e AnimalNativo como classe pai a herdar seus atributos
  * @param identity - ID, clas - classe do animal, name - nome do animal, scientific - nome científico do animal,
  *					sex - sexo do animal, size - tamanho do animal, diet - dieta do animal,
  * 				baptism - nome de batismo do animal, vet - veterinário associado ao animal,
  *					caretaker - tratador associado ao animal, total_changes - número de mudas do animal,
  *					last_change - ultima muda do animal, biernr - ibama, origin_state - estado de origem do animal,
  *         authorization - autorização do animal
  */
AnfibioNativo::AnfibioNativo(int identity, string clas, string name, string scientific, string sex, float size,
        string diet, string baptism, Veterinario* vet, Tratador* caretaker,int total_changes,
        string last_change, string biernr, string origin_state, string authorization):

        Anfibio(identity, clas, name, scientific, sex, size, diet, baptism, vet, caretaker, total_changes, last_change),
        AnimalNativo(biernr, origin_state, authorization)
        {}
				AnfibioNativo::~AnfibioNativo(){