Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com classes


Lukas Couto

Pergunta

Estou fazendo um programa aqui que um professor meu pediu, mas estou com certa dificuldade, uma vez que está dando um erro absurdo e não estou entendo o porque e tampouco estou conseguindo arrumá-lo. Se alguém puder me dar uma luz, desde já agradeço pela ajuda.

O erro que está acusando é o seguinte:

File: Veiculos_carga.h

Line: 7 (declaração da classe)

Message: error: expected class-name before '{' token

Segue o programa:

Main.cpp :

#include <iostream>
#include "veiculos_carga.cpp"
#include "veiculos_passageiro.cpp"
#include "veiculos.cpp"
using namespace std;

int main()
{

    cout << "Hello world!" << endl;
    return 0;
}
Veiculos.h :
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;

class Veiculos
{
    private:
        string marca, modelo, placa, chassi;

    public:
        Veiculos();
        void getDados();
};
Veiculos.cpp :
#include "veiculos.h"

Veiculos::Veiculos(){
    marca = "";
    modelo = "";
    placa = "";
    chassi = "";
};

void Veiculos::getDados(){
    cout<<"Entre com a marca: " << endl;
    getline(cin, marca);
    cout<<"Entre com o modelo: " << endl;
    getline(cin, modelo);
    cout<<"Entre com a placa: " << endl;
    getline(cin, placa);
    cout<<"Entre com o chassi: " << endl;
    getline(cin, chassi);
};
Veiculos_carga.h :
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;

class Veiculos_carga : public Veiculos
{
    private:
        string tipo_carga, capacidade_ton;
    public:
        Veiculos_carga();
        void getDados_carga();
};
Veiculos_carga.cpp :
#include "veiculos_carga.h"

Veiculos_carga::Veiculos_carga(){
    tipo_carga = "";
    capacidade_ton = "";
};

void Veiculos_carga::getDados_carga(){
    cout << "Entre com o tipo de carga: " << endl;
    getline(cin, tipo_carga);
    cout << "Entre com a capacidade (em toneladas): " << endl;
    getline(cin, capacidade_ton);
};
Veiculos_passageiro.h :
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;

class Veiculos_passageiro : public Veiculos
{
    private:
        string capacidade, tipo_trajeto;
    public:
        Veiculos_passageiro();
        void getDados_passageiro();
};
Veiculos_passageiro. cpp :
#include "veiculos_passageiro.h"

Veiculos_passageiro::Veiculos_passageiro(){
    capacidade = "";
    tipo_trajeto = "";
};

void Veiculos_passageiro::getDados_passageiro(){
    cout << "Entre com a capacidade: " << endl;
    getline(cin, capacidade);
    cout << "Entre com a capacidade (em toneladas): " << endl;
    getline(cin, tipo_trajeto);
};

Editado por Jonathan Queiroz
Adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Saudações,

Houve uma pequena confusão entre C/C++ na definição da classe Veiculos. Faça as seguintes alterações:

De:

#include <stdlib.h>
#include <stdio.h>
Para:
#include <string>
E no programa main.cpp mude a ordem de suas includes: De:
#include "veiculos_carga.cpp"
#include "veiculos_passageiro.cpp"
#include "veiculos.cpp"
Para:
#include "veiculos.cpp"
#include "veiculos_carga.cpp"
#include "veiculos_passageiro.cpp"

Abraços,

William Rodrigues.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...