C++ está orientado a objetos, en el sentido de que admite el paradigma orientado a objetos para el desarrollo de software.
Sin embargo, a diferencia de Java, C++ no lo obliga a agrupar 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 por el contrario se habla de declaración/definición del método a continuación, la forma estándar es poner simplemente la declaración en un archivo de inclusión (normalmente llamado .h
o .hpp
) y la definición en un archivo de aplicación diferente (normalmente llamado .cpp
o .cxx
) . Estoy de acuerdo en que esto de hecho es algo molesto y requiere un poco de 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 es prácticamente necesario.
Nota: Incluso si conoce Java, C++ es un lenguaje completamente diferente ... y es un lenguaje que no se puede aprender mediante la experimentación. 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 cometes un error no hay "ángeles de error de tiempo de ejecución" para salvarte como en Java ... pero en su lugar hay " demonios de comportamiento indefinido ".
La única forma razonable de aprender C++ es leyendo ... no importa cuán inteligente sea usted, no hay manera de que adivine lo que decidió el comité. (En realidad, ser inteligente a veces incluso es un problema porque la respuesta correcta es ilógica y una consecuencia del patrimonio histórico.)
Simplemente elija good book o dos y léalas de principio a fin.
¿Quizás un libro para principiantes sobre C++ podría estar en orden? –
@Downvoters ¿por qué? ¿Qué está mal con mi pregunta? – JohnJohnGa
En este momento hay 3 opciones. Su segundo ejemplo podría tener la definición de la función en el archivo de encabezado (pero aún no está en línea), o en un archivo '.cpp' separado. –