13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 49 — #87<br />

✐<br />

2.3. Su primer programa <strong>en</strong> <strong>C++</strong><br />

embargo, la directiva using expone solam<strong>en</strong>te los nombres para el fichero actual,<br />

por lo que no es tan drástico como su<strong>en</strong>a al principio. (pero pi<strong>en</strong>selo dos veces antes<br />

de usarlo <strong>en</strong> un fichero cabecera, eso es temerario).<br />

Existe una relación <strong>en</strong>tre los espacios de nombres y el modo <strong>en</strong> que se incluyes los<br />

ficheros de cabecera. Antes de que se estandarizara la nueva forma de inclusión de<br />

los ficheros cabecera (sin el «.h» como <strong>en</strong> ), la manera típica de incluir<br />

un fichero de cabecera era con el «.h» como <strong>en</strong> . En esa época los<br />

espacios de nombres tampoco eran parte del l<strong>en</strong>guaje, por lo que para mant<strong>en</strong>er una<br />

compatibilidad hacia atrás con el código exist<strong>en</strong>te, si se escribía:<br />

#include <br />

En realidad, significaba:<br />

#include <br />

using namespace std;<br />

Sin embargo <strong>en</strong> este libro se usará la forma estándar de inclusión (sin el «.h») y<br />

haci<strong>en</strong>do explícita la directiva using.<br />

Por ahora, esto es todo lo que necesita saber sobre los espacios de nombres, pero<br />

el Capítulo 10 cubre esta materia <strong>en</strong> profundidad.<br />

2.3.3. Fundam<strong>en</strong>tos de la estructura de los programa<br />

Un programa C o <strong>C++</strong> es una colección de variables, definiciones de función, y<br />

llamada a funciones. Cuando el programa arranca, ejecuta el código de inicialización<br />

y llama a una función especial, «main()», que es donde debe colocarse el código<br />

principal del programa.<br />

Como se m<strong>en</strong>cionó anteriorm<strong>en</strong>te, una definición de función consiste <strong>en</strong> un valor<br />

de retorno (que se debe especificar <strong>en</strong> <strong>C++</strong>), un nombre de función, una lista de<br />

argum<strong>en</strong>tos, y el código de la función <strong>en</strong>tre llaves. Aquí hay un ejemplo de definición<br />

de función:<br />

int funcion() {<br />

// óCdigo de la ófuncin íaqu (esto es un com<strong>en</strong>tario)<br />

}<br />

La función de arriba ti<strong>en</strong>e una lista vacía de argum<strong>en</strong>tos y un cuerpo que conti<strong>en</strong>e<br />

únicam<strong>en</strong>te un com<strong>en</strong>tario.<br />

Puede haber varios pares de llaves <strong>en</strong> la definición de una función, pero siempre<br />

debe haber al m<strong>en</strong>os dos que <strong>en</strong>vuelvan todo el cuerpo de la función. Como main()<br />

es una función, debe seguir esas reglas. En <strong>C++</strong>, main() siempre devuelve un valor<br />

de tipo int (<strong>en</strong>tero).<br />

C y <strong>C++</strong> son l<strong>en</strong>guajes de formato libre. Con un par de excepciones, el compilador<br />

ignora los espacios <strong>en</strong> blanco y los saltos de línea, por lo que hay que determinar el<br />

final de una s<strong>en</strong>t<strong>en</strong>cia. Las s<strong>en</strong>t<strong>en</strong>cias están delimitadas por punto y coma.<br />

Los com<strong>en</strong>tarios <strong>en</strong> C empiezan con /* y finalizan con */. Pued<strong>en</strong> incluir saltos<br />

de línea. <strong>C++</strong> permite este estilo de com<strong>en</strong>tarios y añade la doble barra inclinada:<br />

//. La // empieza un com<strong>en</strong>tario que finaliza con el salto de línea. Es más útil que<br />

49<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!