Xnechijli01

Freelancer

Xnechijli01 Freelancer

Tutorial de C++: Estructura de C++

Logotipo del Freelancer Xnechijli01

Freelancer Xnechijli01: Construimos tus sitios web con SEO onpage y SEO ofpage. Contáctanos pulsando esta imágen.

¿Cuál es la mejor forma de aprender a usar un lenguaje de programación? Esta es una cuestión importante para cualquier persona que está pensando en aprender un nuevo lenguaje de programación. Pues sin lugar a dudas la mejor manera es escribiendo programas. Por lo general, el primer programa que escriben los principiantes es un programa llamado "Hello World" o su equivalente en español "Hola Mundo", que simplemente imprime "Hello World" en la pantalla de su computadora. Así que es este tutorial empezaremos con ese programa. Aunque es muy simple, contiene todos los componentes fundamentales que los programas de C++:

//Mi primer programa en C++
#include <iostream>

int main() {

std::cout << "Hello World!" ;
}

Este es el código C++ para este programa, que como dijimos es simple, pero nos servirá para empezar a programar. El resultado cuando el programa es ejecutado por una computadora simplemente es la frase "Hello World". Ahora examinemos línea por línea este código de C++ para saber exactamente que estamos escribiendo:

Explicación del código de C++

Línea 1: //Mi primer programa en C++

Al igual que en varios lenguajes de programación, como por ejemplo JavaScript, en C++ dos signos de barra diagonal indican que el resto de la línea es un comentario insertado por el programador, pero que no tiene ningún efecto en el comportamiento del programa. Los programadores los utilizan para incluir explicaciones u observaciones breves sobre el código o programa. En este caso, se trata de una breve descripción introductoria del programa que no ayuda a saber que este es "mi primer programa en C++.

Línea 2: #include <iostream>

Las líneas que comienzan con un signo de hash ( # ) son directivas leídas e interpretadas por lo que se conoce como preprocesador. Son líneas especiales interpretadas antes de que comience la compilación del propio programa. En este caso, la directiva #include <iostream> le indica al preprocesador que incluya una sección del código C++ estándar, conocido como header iostream, que permite realizar operaciones estándar de entrada y salida, como escribir la salida de este programa ("Hello World") en la pantalla.

Con esto entendemos que nuestro programas iniciarán con la secuencia #include <iostream>.

Línea 3: Una línea en blanco.

Nuevamente, al igual que en otros lenguajes de programación, como JavaScript, CSS y HTML, en C++ las líneas en blanco no tienen efecto en un programa. Simplemente mejoran la legibilidad del código. En este curso C++ normalmente usaremos el lenguaje escrito con líneas para facilitar su lectura.

Línea 4: int main ( )

Esta línea inicia la declaración de una función. ¿Y que es una función? Esencialmente es un grupo de declaraciones de código a las que se les da un nombre. En este caso, esta línea le da el nombre "principal" al grupo de declaraciones de código que siguen. Las funciones se tratarán en detalle en un capítulo posterior, pero esencialmente, su definición se introduce con una sucesión de un tipo (int), un nombre (main) y un par de paréntesis ( ( ) ), que incluyen opcionalmente los parámetros.

La función denominada main es una función especial en todos los programas de C++; es la función llamada cuando se ejecuta el programa. La ejecución de todos los programas de C++ comienza con la función main , independientemente de dónde se encuentre la función dentro del código. Dicho en términos sencillos, la función "main" le indica al programa de C++ que debe ejecutar el código.

Líneas 5 y 7: { } respectivamente

La llave de apertura ( { ) en la línea 5 indica el comienzo de la definición de la función main , y la llave de cierre ( } ) en la línea 7, indica su final. Todo entre estas llaves es el cuerpo de la función que define lo que sucede cuando se llama a "main". Todas las funciones utilizan llaves para indicar el principio y el final de sus definiciones. Y esto es nuevamente igual que en JavaScript y CSS.

Línea 6: std::cout << "Hello World!";

Esta línea es una declaración de C++. ¿Declaración?, ¿qué es una declaración? Es una expresión que en realidad puede producir algún efecto. Es la sustancia de un programa, especificando su comportamiento real. Las declaraciones se ejecutan en el mismo orden en que aparecen dentro del cuerpo de una función.

La declaración de nuestro ejemplo tiene tres partes: Primero encontramos "std::cout", que identifica el dispositivo de salida de caracteres estándar (normalmente, esta es la pantalla de la computadora). En segundo lugar encontramos el operador de inserción ( << ), que indica que lo que sigue se inserta en std::cout. Finalmente, una oración entre comillas ("¡Hello World!") es el contenido insertado en la salida estándar, en este caso, lo que se verá en la pantalla.

Observa que la declaración termina con un punto y coma ( ; ), y otra vez he de decirte que esto es igual en JavaScript. Este carácter marca el final de la declaración. Todas las declaraciones de C++ deben terminar con un carácter de punto y coma. Uno de los errores de sintaxis más comunes en C++, y por ende motivo de muchos dolores de cabeza en los programadores, es olvidar terminar una declaración con un punto y coma.

Sin duda haz notado que no todas las líneas de este programa realizan acciones cuando se ejecuta el código. Hay una línea que contiene un comentario (que comienza con //). Hay una línea con una directiva para el preprocesador (que comienza con #). Hay una línea que define una función (en este caso, la función main). Y, finalmente, una línea con una declaración que termina con un punto y coma (la inserción en cout), que estaba dentro del bloque delimitado por las llaves ( { } ) de la función main.

El programa ha sido estructurado en diferentes líneas y correctamente sangrado, para que sea más fácil de entender para los humanos que lo leen. Pero C++ no tiene reglas estrictas sobre la sangría o sobre cómo dividir las instrucciones en diferentes líneas. Por ejemplo, en lugar de la forma que se escribió el código de nuestro ejemplo, podríamos haber escrito todo el código en una sola línea, y esto habría tenido exactamente el mismo significado que el código anterior. En ese caso, se habría visto así.

int main () { std::cout << "Hello World!" ; }

En C++, la separación entre sentencias se especifica con un punto y coma final ( ; ), y la separación en diferentes líneas no importa en absoluto para este propósito. Muchas declaraciones pueden escribirse en una sola línea, o cada declaración puede estar en su propia línea. La división del código en diferentes líneas solo sirve para hacerlo más legible y esquemático para las personas que pueden leerlo, pero no tiene ningún efecto en el comportamiento real del programa.

Ahora, agreguemos una declaración adicional a nuestro primer programa:

//Mi segundo programa en C++

#include <iostream>
int main () {
std::cout << "Hello World! " ;
std::cout << "Soy un programa de C++" ; }

En este caso, el programa realizó dos inserciones en std::cout en dos declaraciones diferentes. Una vez más, la separación en diferentes líneas de código simplemente da mayor legibilidad al programa, ya que main podría haberse definido perfectamente de esta manera:

int main () { std::cout << " Hello World! " ; std::cout << " Soy un programa de C++" ; }

El código fuente también podría haberse dividido en más líneas de código en su lugar. y el resultado nuevamente habría sido exactamente el mismo que en los ejemplos anteriores.

Las directivas de preprocesador (recuerda que son aquellas que comienzan por #) están fuera de esta regla general, ya que no son declaraciones. Son líneas que el preprocesador lee y procesa antes de que comience la compilación adecuada. Las directivas de preprocesador se deben especificar en su propia línea y, como no son declaraciones, no tienen que terminar con un punto y coma ( ; ).

Comentarios en C++

Como se señaló anteriormente, los comentarios no afectan el funcionamiento del programa; sin embargo, proporcionan una herramienta importante para documentar directamente dentro del código fuente lo que hace el programa y cómo funciona. Sin embrago, debes saber que C++ admite dos formas de comentar código:

// Línea de comentario.

/* Bloque de comentarios */

El primero de ellos, conocido como línea de comentario, descarta toda la línea desde donde se encuentra el par de signos de barra ( // ) hasta el final de esa misma línea. El segundo método, conocido como bloque de comentario, descarta todo entre los caracteres /* y la primera aparición de los caracteres */, con la posibilidad de incluir varias líneas.

Habiendo visto esto, agreguemos comentarios a nuestro segundo programa:

/*Mi segundo programa en C++ con algunos comentarios */

#include <iostream>
int main () {
std::cout << "Hello World! " ; // Muestra la frase "Hello World!"
std::cout << "Soy un programa de C++" ; // Muestra la frase "Soy un programa de C++"
}

Si los comentarios se incluyen dentro del código fuente de un programa sin usar las combinaciones de caracteres de comentario // , /* o */ , el compilador los toma como si fueran expresiones de C++, lo más probable es que la compilación presente fallas en varios lugares.

Usando namespace std en C++

Si haz visto el código C++ anteriormente, es posible que haya visto el uso de "cout" en lugar de "std::cout". Ambos nombran el mismo objeto: el primero usa su nombre no calificado (cout), mientras que el segundo lo califica directamente dentro del espacio de nombres std (como std::cout). Suena un poco complicado pero no es tanto

Así que la función "cout" es parte de la biblioteca estándar, y todos los elementos de la biblioteca estándar de C++ se declaran dentro de lo que se denomina un espacio de nombres; el espacio de nombres std (abreviatura para estandar en inglés).

Para referirse a los elementos en el "std" el programa calificará cada uno de los usos de los elementos de la biblioteca (como lo hemos hecho prefijando cout con std::), o introducirá la visibilidad de sus componentes. La forma más típica de introducir visibilidad de estos componentes es mediante el uso de la declaración:

using namespace std;

La declaración anterior permite que todos los elementos en el estandar "namespace std" sean accedidos de manera no calificada (sin el prefijo std::).

Con esto en mente, el último ejemplo puede reescribirse para hacer usos no calificados de cout como:

//Mi segundo programa en C++

#include <iostream>
using namespace std;
int main () {
cout << "Hello World!";
cout << "Soy un porgrama de C++";
}

Ambas formas de acceder a los elementos del namespace std (calificación explícita y uso de declaraciones) son válidas en C++ y producen el mismo comportamiento exacto. Para simplificar, y para mejorar la legibilidad, los ejemplos en estos tutoriales usarán más a menudo este último enfoque con el uso de declaraciones, aunque debes tomar en cuenta que la calificación explícita es la única forma de garantizar que las colisiones de nombres nunca ocurran.

En breve esperamos seguir publicando más artículos de este curso de C++. Te animamos a que sigas leyendo nuestro tutorial C++.