C ++ é orientado a objetos, no sentido de que suporta o paradigma orientado a objetos para o desenvolvimento de software.
No entanto, diferentemente de Java, C ++ não força você a agrupar definições de função em classes: a maneira padrão do C ++ para declarar uma função é apenas declarar uma função, sem nenhuma classe.
Se, em vez disso, você estiver falando sobre declaração / definição de método, a maneira padrão é colocar apenas a declaração em um arquivo de inclusão (normalmente denominado .h
ou .hpp
) e a definição em um arquivo de implementação separado (normalmente denominado .cpp
ou .cxx
). Eu concordo que isso é realmente um pouco chato e requer algumas duplicações, mas é como a linguagem foi projetada.
Para experimentos rápidos e projetos de arquivo único, qualquer coisa funcionaria ... mas para projetos maiores, essa separação é praticamente necessária.
Nota: Mesmo se você conhece Java, C ++ é uma linguagem completamente diferente ... e é uma linguagem que não pode ser aprendida experimentando. A razão é que é uma linguagem bastante complexa com muitas assimetrias e escolhas aparentemente ilógicas e, o mais importante, quando você comete um erro, não há "anjos de erro em tempo de execução" para salvá-lo como em Java ... mas há " daemons de comportamento indefinido ".
A única maneira razoável de aprender C ++ é lendo ... não importa o quão inteligente você seja, não há como você adivinhar o que o comitê decidiu (na verdade, ser inteligente às vezes é até um problema porque a resposta correta é ilógica e uma consequência do histórico herança.)
Escolha um ou dois bons livros e leia-os de capa a capa.
.cpp
arquivo separado .