Diagrama de clases Practica 2 POO Clinica ... + Clinica() + Clinica(const Clinica&) + ~Clinica() + operator=(const Clinica&) : Clinica& + addEspecialidad(const Especialidad&) : void + addEspecialidad(especialidad : string, jefeEspecialidad : const Medico&) : bool + buscarEspecialidadPaciente(const Paciente&) : Especialidad* + obtenerEspecialidad(nombre : string) : Especialidad* + <<const>> listadoPersonas(os : ostream&, conMenu : bool = false) : void + <<const>> listadoPacientes(os : ostream&) : void + ingresarPaciente(pac : const Paciente&, esp : string) : bool + darAlta(const Paciente&) : bool + addMedico(med : const Medico&, esp : string) : bool © 2009 Pedro J. Ponce de León, David Rizo Persona - NSIP : string - nombreApellidos : string * 0..1 - personas + Persona(nsip : string, nombreAp : string) + Persona(const Persona&) + <<virtual>> ~Persona() + operator=(const Persona &) : Persona& + <<const>> operator<(const Persona&) : bool + <<const>> operator==(const Persona&) : bool + <<const>> getNSIP() : string + <<const>> getNombreApellidos() : string + elegirMenu(cual : string, primero: string, segundo: string) : bool + <<const>> getMenu() : const Menu* + <<virtual>> <<const>> toString() : string 0..1 Menu # menu <<enum>> TipoDiagnostico 0..1 Diagnostico - diagnosticos * - tratamiento - especialidades Especialidad - nombre : string ... - asignarMedico(const Paciente&) : bool ... + ingresarPaciente(const Paciente&) : bool * * Tratamiento Paciente Medico - sexo : char + Medico(nsip : string, nombreApellidos : string) + Medico(const Medico&) + <<virtual>> ~Medico() * + operator=(const Medico&) : Medico& + addPaciente(Paciente*) : void - medicos + getCargaPacientes() : int + quitarPaciente(const Paciente&) : bool + tieneAlPaciente(const Paciente&) : bool + <<const>> getCargaMaxima() : int + elegirMenu(string, string, string) : bool + <<const>> puedeAtenderMasPacientes() : bool - habitaciones Habitacion * - pacientes - paciente * - camas Cama + Paciente(nsip : string, nombreApellidos : string, sexo : char, fechaNacimiento : const Fecha&) + Paciente(const Paciente&) + ~Paciente() + operator=(const Paciente&) : Paciente& + <<const>> getSexo() : char + <<const>> getEdad() : int + <<const>> getUltimoDiagnostico() : Diagnostico* + diagnosticar(const Diagnostico&) : void + <<const>> estaCurado() : bool + <<friend>> operator<<(os: ostream&, p: const Paciente&) : ostream& + elegirMenu(string, string, string) : bool + <<const>> toString() : string 0..1 Fecha 1 to ci en mi e -f a aN h c