C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma
En general, los programas escritos en C++ tienen una estructura (básica) compuesta por tres secciones:
- Directivas de preprocesador
- declaraciones globales
- declaración de funciones
Directivas de preprocesador
Los compiladores de C++ proporcionan bibliotecas de funciones, y cada biblioteca de funciones tiene asociada un archivo de definición que se denomina cabecera. Para utilizar algo de una biblioteca en un programa (por ejemplo, una función), hay que colocar al principio del programa una directiva de preprocesamiento seguida de la cabecera de la biblioteca entre signos de "menor que" y "mayor que" (<>).A continuación se muestra un típico ejemplo de una directiva de preprocesador:
#include <iostream>
- Macros de preprocesador (#define y #undef)
- Inclusiones condicionales (#ifdef, #ifndef, #if, #endif, #else and #elif)
- Control (#line)
- Error (#error)
- Inclusión de fichero (#include)
- Pragma (#pragma)
Macros de preprocesador
Para definir macros de preprocesador, usamos la directiva #define. La sintaxis es:#define identificador reemplazo
Cuando el procesador encuentra esta directiva, este reemplaza todas las ocurrencias del identificador y son sustituidas por reemplazo. Cuando se requiere desactivar una macro, a partir de cierta parte del código, se utiliza la directiva #undef. La sintaxis es:
#undef nombre_macro
Inclusiones condicionales
Estas directivas permiten incluir o descartar partes de codigo, si se cumplen algunas condiciones.- #ifdef: Permite que una seccion del programa sea compilada solo si la macro especificada como parametro ha sido definida, sin importar el valor de esta. Por ejemplo:
#ifdef TABLE_SIZE
int table[TABLE_SIZE];
#endif
- #ifndef: Permite realizar exactamente todo lo contrario a #ifdef. La lineas de código que se encuentren entre #ifndef y #endif, serán ejecutadas siempre y cuando la macro señalada como parámetro de #ifndef no se encuentre definida aun. Por ejemplo:
#ifndef TABLE_SIZE
#define TABLE_SIZE 100
#endif
int table[TABLE_SIZE];
- #if, #else y #elif (o else if): Estas directivas tienen el mismo significado que los comandos condicionales de cualquier lenguaje de programacion. Por ejemplo:
#if TABLE_SIZE>200
#undef TABLE_SIZE
#define TABLE_SIZE 200
#elif TABLE_SIZE<50
#undef TABLE_SIZE
#define TABLE_SIZE 50
#else
#undef TABLE_SIZE
#define TABLE_SIZE 100
#endif
int table[TABLE_SIZE];
Control
Cuando compilamos un programa y un error ocurre durante el proceso de compilación, el compilador muestra un mensaje de error con las referencias al nombre del archivo donde ocurrió el error y un número de línea, por lo que es más fácil encontrar el código que genera el error. La directiva #line nos permite controlar ambas cosas, los números de línea en los archivos de código, así como el nombre del archivo que queremos que aparece cuando un error ocurre. Su formato es:#line numero "nombre_de_archivo"
#line 20 "asignacion de variable"
int a?;
Error
Esta directiva cancela la compilación cuando es encontrada, generando un error de compilación que puede ser especificado según un parámetro de un ejercicio. Por ejemplo:#ifndefcplusplus
#error A Se requiere compilador de C++
#endif
Inclusión de fichero
Cuando el preprocesador encuentra la directiva #include, este reemplaza todas las ocurrencias de ella por el archivo o cabecera especificada. Existen dos formas de utilizar #include:- #include <cabecera>: Es usado para incluir las cabeceras proporcionadas por defecto, por ejemplo, la librería estándar (string, iostream, etc.).
- #include "archivo" : Es usado para incluir archivos.
Pragma
la directiva #pragma es utilizada para especificar las distintas opciones del compilador. Estas opciones son especificadas dependiendo del compilador que se utilice. Si el compilador no permite un argumento para #pragma, esto es ignorado y no genera un error de sintaxis.Declaraciones globales
En esta seccion se declaran todas variables y cabeceras de funciones que seran vistas de manera global, es decir, que su alcance es total en el programa. Por ejemplo:#include <iostream>
#define PI 3.1415
std::string autor: "Joel";
int adicion(int, int);
Declaración de funciones
La ultima sección del programa es la declaración de funciones. La primera función que se debe declarar es la función principal o "main". La función main es la mas importante, pues es la que es invocada cuando el programa se ejecuta. Toda instrucción que no sea declarada dentro de esta, simplemente no sera considerada. A continuación de la función "main", se permite la definición completa de las funciones declaradas en la sección de declaraciones globales. En el siguiente ejemplo, mostraremos la estructura definitiva de un programa y la declaración completa de sus funciones:#include <iostream>
#define PI 3.1415
std::string autor: "Joel";
int adicion(int, int);
int main(int argc, char **argv)
{
std::cout<<"El resultado de la suma de 1 y 2 es "<<adicion(1,2)<<std::endl;
return 0;
}
int adicion(int a, int b)
{
return a+b;
}
Sintaxis
Sintaxis es la forma correcta en que se deben escribir las instrucciones para el computador en un lenguaje de programación específico. C++ hereda la sintaxis de C estándar, es decir, la mayoría de programas escritos para el C estándar pueden ser compilados en C++.El punto y coma
El punto y coma es uno de los simbólos más usados en C, C++; y se usa con el fin de indicar el final de una línea de instrucción. El punto y coma es de uso obligatorio.ejemplo
´´´´´´
clrscr(); //Limpiar pantalla, funciona solo con la librería conio de Borland C++
x = a + b;
string IP = "127.0.0.1"; // Variable IP tipo string
cout << IP << endl; // Devuelve 127.0.0.1
char Saludo[5] = "Hola"; // Variable Saludo tipo char
cout << Saludo[0] << endl; // Igual a H
cout << Saludo[1] << endl; // Igual a o
cout << Saludo[2] << endl; // Igual a l
cout << Saludo[3] << endl; // Igual a a
El punto y coma se usa también para separar contadores, condicionales e incrementadores dentro de una sentencia for
ejemplo
for (i=0; i < 10; i++) cout << i;
Espacios y tabuladores
Usar caracteres extras de espaciado o tabuladores ( caracteres tab ) es un mecanismo que nos permite ordenar de manera más clara el código del programa que estemos escribiendo, sin embargo, el uso de estos es opcional ya que el compilador ignora la presencia de los mismos. Por ejemplo, el segundo de los ejemplos anteriores se podría escribir como:for (int i=0; i < 10; i++) { cout << i * x; x++; }
No hay comentarios:
Publicar un comentario