Boa tarde, pessoal, estou com uma dúvida em um exercício que preciso entregar, mas não consigo descobrir o que estou fazendo errado na classe locadora. Irei postar o enunciado e todas as classes:
Considere um sistema de cadastro de locações em uma locadora, para tanto, implemente as classes “CD” e “DVD”, heranças da classe “Pro- duto” e a classe “Locação”. Em produto devem constar as informações de código, título e preço, além de métodos que manipulem essas informações. Faça o mesmo para as classes CD e DVD, porém incluindo em CD o número de faixas e em DVD o nome do diretor. Para a classe Locação inclua a informação de data de locaçãoo e entrega (considere apenas valores inteiros – o dia, por exemplo) e o produto. Implemente ainda o método aluga, no qual deve receber um produto (seja DVD ou CD) e o dia da locação. Implemente também um método devolução, o qual recebe o dia final da locação, sendo o retorno desse método o valor a ser pago pelo cliente. Teste as classes implementadas em uma função main, utilizando ao menos uma instância de CD, DVD e Locação.
PRODUTO.H e PRODUTO.CPP
#ifndef PRODUTO_H#define PRODUTO_Husing namespace std;#include "iostream"class produto{ private: int codigo; string titulo; float preco; public: void setCodigo (int c); int getCodigo(); void setTitulo (string t); string getTitulo(); void setPreco (float p); float getPreco();};#endif // PRODUTO_H#include "produto.h"void produto::setCodigo(int c){ codigo = c;}int produto::getCodigo(){ return codigo;}void produto::setTitulo(string t){ titulo = t;}string produto::getTitulo(){ return titulo;}void produto::setPreco(float p){ preco = p;}float produto::getPreco(){ return preco;}
CD.H e CD.CPP
#ifndef CD_H#define CD_H#include "produto.h"using namespace std;#include "iostream"class cd:public produto{ public: void setnumfaixa(string numfaixa); string getnumfaixa(); protected: private: string numfaixa;};#endif#include "cd.h"void cd::setnumfaixa(string numfaixa){ this -> numfaixa = numfaixa; }string cd::getnumfaixa(){ return this -> numfaixa; }
DVD.H e DVD.CPP
#ifndef DVD_H#define DVD_H#include "produto.h"using namespace std;#include "iostream"class dvd : public produto{ public: void setnomeDiretor(string nomeDiretor); string getnomeDiretor(); protected: private: string nomeDiretor;};#endif#include "dvd.h"void dvd::setnomeDiretor(string nomeDiretor){ this -> nomeDiretor = nomeDiretor; }string dvd::getnomeDiretor(){ return this -> nomeDiretor; }
LOCACAO.H e LOCACAO.CPP
#ifndef LOCACAO_H#define LOCACAO_Husing namespace std;#include "iostream"#include "produto.h"#include "cd.h"#include "dvd.h"#include "produto.h"class locacao{ public: void setdiaLocacao(int diaLocacao); int getdiaLocacao(); void setdiaEntrega(int diaEntrega); int getdiaEntrega(); void aluga(int diaLocacao, string titulo); void devolucao(int diaEntrega); protected: private: int diaLocacao; int diaEntrega; };#endif#include "locacao.h"void locacao::setdiaLocacao(int diaLocacao){ this -> diaLocacao = diaLocacao; }int locacao::getdiaLocacao(){ return this -> diaLocacao; } void locacao::setdiaEntrega(int diaEntrega){ this -> diaEntrega = diaEntrega; }int locacao::getdiaEntrega(){ return this -> diaEntrega; } void locacao::aluga(int diaLocacao, string titulo){ this -> diaLocacao = diaLocacao; titulo = titulo; } void devolucao(int diaEntrega){ }
Acredito que o erro esteja nessa última classe, não consigo fazê-la. Podem me ajudar? Obrigado.