Pergunta

Eu estou trabalhando em um pequeno jogo usando C ++, e eu usei gerador de classe do Eclipse CDT. É criado um arquivo .h com as definições de classe e um arquivo .cpp que os métodos de corpo-less incluídos para a referida classe.

Então, se eu tivesse seguido o modelo, eu tenho um arquivo .cpp preenchido com as declarações de métodos, e um arquivo .cpp com corpo de método. No entanto, não posso incluir um arquivo .cpp dentro de outro.

Então, o que é a convenção em C ++ com aulas e incluir arquivos? O que fiz foi preencher os corpos de método direito sob a declaração de classe no arquivo .h, e apagou o arquivo .cpp.

Foi útil?

Solução

Você não tem que incluir o arquivo .cpp. Incluindo o arquivo .h é tudo o que preciso. meios .h cabeçalho, isto é, tudo o que deve ter é definições função / objecto. As implementações reais ir no arquivo .cpp de mesmo nome. O vinculador irá lidar com endireitar-lo para você.

O arquivo de cabeçalho contém declarações (também conhecido como protótipo). Inclusão do cabeçalho permite o know programa "Declaro algo que se parece com isto existe".

O usuário de cabeçalhos nos salva o esforço de declarar métodos em todo o lugar em nossos arquivos de código -. Nós fazê-lo apenas uma vez, em seguida, importar o arquivo

A / CPP / C arquivo .cc inclui o definição -. Que diz ao programa que a função faz

Você não tem que "incluir" arquivos .c porque é isso que o compilador faz -. Compila todos os seus arquivos .c em código de máquina

Outras dicas

Mais uma coisa que você pode fazer é ao criar um arquivo de cabeçalho é usar o pré-processador diretiva ifdef e endif. Isso vai evitar que seu ser arquivo de cabeçalho incluído várias vezes. Esta é uma prática padrão que eu uso sempre que eu criar um novo arquivo de cabeçalho.

Eu não estou muito certo eu entendo. Os arquivos de cabeçalho define o que a classe é e pode fazer, e você incluir isso em quaisquer arquivos de origem que precisam usar a classe.

Os implementos de arquivo de origem como a classe faz a sua ação.

No entanto, você pode incluem um .cpp em outro (você pode incluir qualquer coisa em qualquer coisa), mas você não precisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top