#include <iostream>
/* Este es un comentatio
* que puede extenderse varias lineas
*/
int
main (int argc, char *argv[])
{
// Este es un comentario de una sola linea
std::cout << "Hola Mundo!" << std::endl;
std::cout << "------------------------" << std::endl
<< "No podemos definir cadenas" << std::endl
<< "con varias lineas de texto" << std::endl
<< "directamente " << std::endl
<< "--------------------------" << std::endl;
return 0; // Otro comentario
}Como se desprende del código anterior, un programa C++ es muy
parecido a su correspondiente versión ne C. Los comentarios C se pueden
usar sin más y además C++ nos permite definir comentario de una sola
línea, los cuales comienza con los caracteres // y terminan
al final de la línea.
Vemos que aquí tenemos que utilizar un fichero de cabecera distinto
(no es necesario incluir la extensión del fichero) y la forma de
escribir cadenas en la consola es diferente, aunque las cadenas de
caracteres constantes se siguen representando de la misma forma, entre
comillas ". La declaración de la función main
es idéntica a la que usamos en C, y C++ también utiliza el caracter
; para terminar las instrucciones y las llaves para agrupar
comandos.
SABÍAS QUE
C++ es un superconjunto de C, en cierto modo. Esto significa que podemos incluir código C en medio de cualquier programa C++ sin ningún problema.
En este caso, para imprimir en la pantalla hemos utilizado el stream
estándar de C++ cout. cout es realmente un
objeto estático de la clase ostream que está asociado a la
salida estándar. En este libro no vamos a cubrir programación orientada
a objetos así que, si no sabéis de que estamos hablando, basta con
recordar que cout es un objeto que nos permite escribir en
pantalla y que esto lo hace con el operador <<.
En nuestro programa de ejemplo, estamos utilizando el manipulador
std::endl para introducir retornos de carro en nuestras
cadenas. Podríamos utilizar \n al igual que hicimos en
nuestro programa C, sin embargo esta es la forma estándar de hacerlo en
C++.
SABÍAS QUE…
Si bien, la salida del programa será idéntica utilizando
\nostd::endl, esta última fuerza el vaciado de los buffers, o en otras palabras,std::endlse asegura que la cadena se muestre en la pantalla inmediatamente. En la mayoría de programas que escribiremos, eso no tiene ninguna relevancia, pero hay casos en los que se debe tener en cuenta.
Los ficheros conteniendo código C++ utilizan la extensión
.cpp y los ficheros de cabecera normalmente
.h. Sin embargo esto no es obligatorio y podéis encontrar
código antiguo usando extensiones como .C (mayúscula)
.c++, .cc o .cxx. De la misma
forma, podéis encontrar ficheros de cabecera C++ con extensiones
.H (mayúscula), .h++, .hh,
.hxx o hpp, siendo esta última la más
utilizada en la actualidad, si bien, .h se puede utilizar
de igual forma.
SOY NOVATO
Aunque la extensión por defecto de los programas en C++ sea
cpp, el programacppdel sistema no tiene nada que ver con este lenguaje.cppviene de C Pre-Processor o Preprocesador de C y es el programa encargado de procesar los#includey otras directivas del pre-procesador. Las directivas del preprocesador suelen empezar con el caracter#, como por ejemplo losincludesque hemos visto anteriormente.
C++ al igual que C es un lenguaje compilado, y para poder ejecutar
nuestro programa primero tenemos que compilarlo. Esto se puede hacer en
los sistemas GNU/Linux con el compilador g++ utilizando el
siguiente comando.
$ g++ -o hola hola.cpp
Al igual que sucede con C, la utilidad make sabe como
lidiar con los programas en C++ y podemos compilar nuestro programa
hola.cpp con ella (suponiendo que no haya un
hola.c en el mismo directorio que tomaría preferencia).
$ make hola
g++ hola.cpp -o hola
El lenguaje C++ fue desarrollado por Bjarne Stroustrup de origen danés, también en los laboratorios Bell. C++ conocido inicialemente como C con clases nace como una extensión orientada a objetos del lenguaje C. La primera versión del lenguaje vio la luz en 1982. En 1985 el libro “EL lenguaje de programación C++” fue publicado. Al igual que su homónimo en C, este libro fue la referencia definitiva del lenguaje hasta que se definieron estándares oficiales. Durante bastante años, cada nueva versión del lenguaje era una pequeña pesadilla de incompatibilidades. Afortunadamente esos tiempos ya han quedado atrás.
Resumen
- Lenguaje compilado
- Extension:
cpp/h(C/cxx/c++/h++/hpp) - Terminador de líneas:
; - Agrupa instrucciones con :
{...} - Comentarios multilinea: Entre caracteres
/* */ - Comentarios misma linea:
// - Delimitador de cadenas:
"cadena¨ - Puedes imprimir textos con
cout << str(No añade retorno de carro) - No soporta cadenas multilínea nativamente
- No soporta
HERE-DOCS - Punto de entrada:
main - Requiere definición previa de todos los elementos (ficheros include para declarar funciones)
■
