Projeto Biblioteca POO - PV26465
Loading...
Searching...
No Matches
Livro Class Referenceabstract

Classe base para representar um livro na biblioteca. More...

#include <Livro.h>

Inheritance diagram for Livro:
Jornal LivroCientifico LivroEducativo LivroFiccao Revista

Public Member Functions

 Livro (string t, string a, string i, string c, int numCopias)
 Construtor da classe Livro.
 
virtual ~Livro ()
 Destrutor da classe Livro.
 
virtual string getTipo () const =0
 
virtual int getPrazoEmprestimo () const =0
 
virtual void EditarInformacoesLivro ()=0
 
string getTitulo () const
 Obtém o título do livro.
 
void setTitulo (string titulo)
 Define o título do livro.
 
string getAutor () const
 Obtém o autor do livro.
 
void setAutor (string autor)
 Define o autor do livro.
 
string getIsbn () const
 Obtém o ISBN do livro.
 
void setIsbn (string isbn)
 Define o ISBN do livro.
 
void setCategoria (string categoria)
 Define a categoria do livro.
 
string getCategoria () const
 Obtém a categoria do livro.
 
void adicionar_Reserva (Leitor *LT)
 Adiciona uma reserva para um leitor.
 
void remover_Reserva (Leitor *LT)
 Remove uma reserva de um leitor.
 
LeitorProximo_Leitor_Reserva () const
 Obtém o próximo leitor na lista de reservas.
 
bool temReserva () const
 Verifica se o livro tem reservas.
 
int getCopiasDisponiveis () const
 Obtém o número de cópias disponíveis do livro.
 
bool emprestar_Copia ()
 Empresta uma cópia do livro.
 
void devolver_Copia ()
 Devolve uma cópia do livro.
 
int getNumCopias () const
 Obtém o número de cópias do livro.
 
void setNumCopias (int numCopias)
 Define o número de cópias do livro.
 

Public Attributes

vector< Leitor * > reservas
 

Protected Attributes

string Titulo
 
string Autor
 
string isbn
 
string categoria
 
int total_copias
 
int copias_emprestadas
 

Detailed Description

Classe base para representar um livro na biblioteca.

Esta classe define as características e comportamentos comuns a todos os tipos de livros

Constructor & Destructor Documentation

◆ Livro()

Livro::Livro ( string t,
string a,
string i,
string c,
int numCopias )

Construtor da classe Livro.

Parameters
tO título do livro.
aO autor do livro.
iO ISBN do livro.
cA categoria do livro.
numCopiasO número de cópias do livro.

◆ ~Livro()

Livro::~Livro ( )
virtual

Destrutor da classe Livro.

Member Function Documentation

◆ adicionar_Reserva()

void Livro::adicionar_Reserva ( Leitor * LT)

Adiciona uma reserva para um leitor.

Esta função adiciona um leitor à lista de reservas do livro. Se o livro for educativo e o leitor for um estudante, a reserva é adicionada no início da lista, dando prioridade aos estudantes para livros educativos. Caso contrário, a reserva é adicionada ao final da lista.

Parameters
LTPonteiro para o leitor que deseja fazer a reserva.

◆ devolver_Copia()

void Livro::devolver_Copia ( )

Devolve uma cópia do livro.

◆ EditarInformacoesLivro()

virtual void Livro::EditarInformacoesLivro ( )
pure virtual

◆ emprestar_Copia()

bool Livro::emprestar_Copia ( )

Empresta uma cópia do livro.

Returns
true se a cópia foi emprestada com sucesso, false caso contrário.

◆ getAutor()

string Livro::getAutor ( ) const

Obtém o autor do livro.

Returns
O autor do livro.

◆ getCategoria()

string Livro::getCategoria ( ) const

Obtém a categoria do livro.

Returns
A categoria do livro.

◆ getCopiasDisponiveis()

int Livro::getCopiasDisponiveis ( ) const

Obtém o número de cópias disponíveis do livro.

Returns
O número de cópias disponíveis do livro.

◆ getIsbn()

string Livro::getIsbn ( ) const

Obtém o ISBN do livro.

Returns
O ISBN do livro.

◆ getNumCopias()

int Livro::getNumCopias ( ) const

Obtém o número de cópias do livro.

Returns
O número de cópias do livro.

◆ getPrazoEmprestimo()

virtual int Livro::getPrazoEmprestimo ( ) const
pure virtual

◆ getTipo()

virtual string Livro::getTipo ( ) const
pure virtual

◆ getTitulo()

string Livro::getTitulo ( ) const

Obtém o título do livro.

Returns
O título do livro.

◆ Proximo_Leitor_Reserva()

Leitor * Livro::Proximo_Leitor_Reserva ( ) const

Obtém o próximo leitor na lista de reservas.

Returns
Ponteiro para o leitor que está na frente na lista de reservas.

◆ remover_Reserva()

void Livro::remover_Reserva ( Leitor * LT)

Remove uma reserva de um leitor.

Parameters
LTPonteiro para o leitor que deseja remover a reserva.

◆ setAutor()

void Livro::setAutor ( string a)

Define o autor do livro.

Parameters
aO autor do livro.

◆ setCategoria()

void Livro::setCategoria ( string c)

Define a categoria do livro.

Parameters
cA categoria do livro.

◆ setIsbn()

void Livro::setIsbn ( string i)

Define o ISBN do livro.

Parameters
iO ISBN do livro.

◆ setNumCopias()

void Livro::setNumCopias ( int numCopias)

Define o número de cópias do livro.

Parameters
numCopiasO número de cópias do livro.

◆ setTitulo()

void Livro::setTitulo ( string t)

Define o título do livro.

Parameters
tO título do livro.

◆ temReserva()

bool Livro::temReserva ( ) const

Verifica se o livro tem reservas.

Returns
true se o livro tem reservas, false caso contrário.

Member Data Documentation

◆ Autor

string Livro::Autor
protected

◆ categoria

string Livro::categoria
protected

◆ copias_emprestadas

int Livro::copias_emprestadas
protected

◆ isbn

string Livro::isbn
protected

◆ reservas

vector<Leitor*> Livro::reservas

◆ Titulo

string Livro::Titulo
protected

◆ total_copias

int Livro::total_copias
protected

The documentation for this class was generated from the following files: