Skip to content
Snippets Groups Projects
veterinario.cpp 2.13 KiB
Newer Older
#include <iostream>
#include <string>
using namespace std;
#include <fstream>
#define CARACTER_SEPARADOR ';'
/**
* @brief Metodo de Sobrecarga do operador extração
* @param input - stream de entrada, v = objeto do tipo Veterinario
*/
std::istream& operator>> (std::istream &input,Veterinario &v){
    string aux;
    getline (input,aux,CARACTER_SEPARADOR);
    v.id = atoi(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    v.funcao = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    v.nome = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    v.cpf = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    v.idade = atoi(aux.c_str());
    getline (input,aux,CARACTER_SEPARADOR);
    v.tipo_sanguineo = aux;
    getline (input,aux,CARACTER_SEPARADOR);
    v.fator_RH = aux;
    getline (input, aux);
    v.especialidade = aux;
    return input;
}

/**
* @brief Metodo de Sobrecarga do operador inserção
* @param output - stream de entrada, v = objeto do tipo Veterinario
*/
std::ostream& operator<< (std::ostream &output, Veterinario const v) {
output << v.id<<";";
output << v.funcao<<";";
output << v.nome<<";";
output << v.cpf<<";";
output << v.idade<<";";
output << v.tipo_sanguineo<<";";
output << v.fator_RH<<";";
output << v.especialidade<<endl;
/**
* @brief Construtor cria um Veterinario, que tem Funcionario como classe pai e lhe herda os atributos
* @param identity - ID, role - funçao do tratador, name - nome do tratador, doc_cpf - CPF do tratador,
*					age - idade do tratador, blood_type - tipo sanguineo do tratador, rh_factor - fator RH do tratador,
* 				specialty - especialidade do tratador
*/
Veterinario::Veterinario(int identity, string role, string name, string doc_cpf, short age, char blood_type, char rh_factor, string specialty):

						Funcionario(identity, role, name, doc_cpf, age, blood_type, rh_factor, specialty)
{}



//Contrutor com valores default
Veterinario::Veterinario(){
	id = 0;
	funcao = "-";
	cpf = "-";
	nome = "-";
	idade = 0;
	tipo_sanguineo = '-';
	fator_RH = '-';
	especialidade = "-";
}



/**
* @brief Destrutor de Tratador
*/
Veterinario::~Veterinario(){

	}