Skip to content
Snippets Groups Projects
Commit 700d1d0c authored by Nico's avatar Nico
Browse files

Tentando arrumar as obras

parent cc2d178a
Branches
No related tags found
No related merge requests found
main 0 → 100755
File added
......@@ -2,7 +2,7 @@
#include <iostream>
#include "./sources/Biblioteca.hpp"
#include "./sources/Livro.cpp"
#include "./sources/Livro.hpp"
using namespace std;
......
......@@ -13,20 +13,15 @@ void DescricaoObra::mostrarDetalhes() const {
cout << "Ano de Publicação: " << anoPublicacao << "\n";
}
// Operators
bool DescricaoObra::operator==(const DescricaoObra& other) const {
return this->titulo == other.titulo;
}
// Methods
string DescricaoObra::getTipo() {
string DescricaoObra::getTipo() const {
return this->tipo;
}
string DescricaoObra::getTitulo(){
string DescricaoObra::getTitulo() const {
return this->titulo;
}
int DescricaoObra::getAnoPublicacao(){
int DescricaoObra::getAnoPublicacao() const {
return this->anoPublicacao;
}
......@@ -15,17 +15,14 @@ class DescricaoObra {
public:
// Contructor
DescricaoObra();
DescricaoObra() {};
DescricaoObra(const string& tipo, const string& titulo, int ano);
virtual void mostrarDetalhes() const = 0;
// Operators
bool operator==(const DescricaoObra& other) const;
virtual void mostrarDetalhes() const;
// Methods
string getTitulo();
string getTipo();
int getAnoPublicacao();
string getTitulo() const ;
string getTipo() const ;
int getAnoPublicacao() const ;
};
......
......@@ -5,6 +5,13 @@
using namespace std;
Livro::Livro(const DescricaoObra& outro) {
if (outro.getTipo() == "livro") {
Livro l = static_cast<Livro>(outro);
Livro(l.getTitulo(), l.getAnoPublicacao(), l.getAutor(), l.getEditora());
}
}
Livro::Livro(const string& t, int ano, const string& a, const string& e)
: DescricaoObra("livro", t, ano), autor(a), editora(e) {}
......@@ -16,10 +23,10 @@ void Livro::mostrarDetalhes() const {
}
// Methods
string Livro::getAutor(){
string Livro::getAutor() const {
return this->autor;
}
string Livro::getEditora(){
string Livro::getEditora() const {
return this->editora;
}
......@@ -13,12 +13,13 @@ class Livro: public DescricaoObra {
public:
// Contructor
Livro(const DescricaoObra& outro);
Livro(const string& t, int ano, const string& a, const string& e);
void mostrarDetalhes() const override;
// Methods
string getAutor();
string getEditora();
string getAutor() const ;
string getEditora() const ;
};
......
......@@ -13,7 +13,7 @@ class Obra {
// Contructor
Obra();
Obra(DescricaoObra& descricao);
virtual void mostrarDetalhes() const;
void mostrarDetalhes() const;
// Methods
bool emprestar();
......
......@@ -3,6 +3,13 @@
#include "./Periodico.hpp"
// Contructor
Periodico::Periodico(const DescricaoObra& outro) {
if (outro.getTipo() == "livro") {
Periodico p = static_cast<Periodico>(outro);
Periodico(p.getTitulo(), p.getAnoPublicacao(), p.getVolume(), p.getMes());
}
}
Periodico::Periodico(const std::string& t, int ano, int vol, int m)
: DescricaoObra("periodico", t, ano), volume(vol), mes(m) {}
......@@ -13,9 +20,10 @@ void Periodico::mostrarDetalhes() const {
}
// Methods
int Periodico::getVolume(){
int Periodico::getVolume() const {
return this->volume;
}
int Periodico::getMes(){
int Periodico::getMes() const {
return this->mes;
}
......@@ -12,12 +12,13 @@ class Periodico: public DescricaoObra {
public:
// Contructor
Periodico(const DescricaoObra& outro);
Periodico(const string& t, int ano, int vol, int m);
void mostrarDetalhes() const override;
// Methods
int getVolume();
int getMes();
int getVolume() const;
int getMes() const;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment