C ++ está orientado a objetos, en el sentido de que apoya el paradigma orientado a objetos para el desarrollo de software.
Sin embargo, a diferencia de Java, C ++ no le obliga a agrupar las definiciones de funciones en clases: la forma estándar de C ++ para declarar una función es simplemente declarar una función, sin ninguna clase.
Si, en cambio, está hablando de declaración / definición de método, entonces la forma estándar es poner solo la declaración en un archivo de inclusión (normalmente llamado .h
o .hpp
) y la definición en un archivo de implementación separado (normalmente llamado .cpp
o.cxx
). Estoy de acuerdo en que esto es algo molesto y requiere cierta duplicación, pero así es como se diseñó el lenguaje.
Para experimentos rápidos y proyectos de un solo archivo, cualquier cosa funcionaría ... pero para proyectos más grandes, esta separación es algo que se requiere prácticamente.
Nota: Incluso si conoce Java, C ++ es un lenguaje completamente diferente ... y es un lenguaje que no se puede aprender experimentando. La razón es que es un lenguaje bastante complejo con muchas asimetrías y elecciones aparentemente ilógicas, y lo más importante, cuando comete un error, no hay "ángeles de error en tiempo de ejecución" para salvarlo como en Java ... pero en su lugar hay " demonios de comportamiento indefinido ".
La única forma razonable de aprender C ++ es leyendo ... no importa lo inteligente que sea, no hay forma de que pueda adivinar lo que decidió el comité (en realidad, ser inteligente es a veces incluso un problema porque la respuesta correcta es ilógica y una consecuencia de patrimonio.)
Simplemente elija uno o dos libros buenos y léalos de cabo a rabo.
.cpp
archivo separado .