Manual Teórico - Práctico C++
Manual Teórico - Práctico C++
¿Qué es C++?
En particular, este lenguaje está pensado para seguir siempre los siguientes
lineamientos de diseño:
Antes de la ratificación del estándar en 1998, HP creó una librería basada en plantillas,
que posteriormente amplió SGI. Originalmente conocida como la Standard Template
Library (STL), el estándar ratificado en 1998 la incorporó y extendió dando lugar a la
Librería Estándar de C++. Esta librería incorpora herramientas poderosas como los
contenedores, iteradotes, manipulación de cadenas de texto, flujos de datos (streams) y
manipulación de archivos, y algoritmos comunes (i.e. búsqueda y ordenamiento de
contenedores), entre otros.
1
Debido a que siempre se ha pretendido que sea compatible lo más posible con C, C++
acepta la programación procedimental. Esto permite aprovechar ventajas como diseño a
bajo nivel, eficiencia en uso de memoria y en tamaño de los binarios finales, así como
simplicidad en la codificación. En particular, la manipulación de memoria y la posible
incorporación de lenguaje ensamblador hacen que C++ tenga mucha potencia para
trabajar a bajo nivel.
Por otro lado, C++ acepta también el paradigma de programación orientada a objetos,
y tiene como suyas las siguientes características.
Abstracción.
Encapsulación.
Herencia simple y herencia múltiple.
Polimorfismo estático.
Sobrecarga de funciones.
Sobrecarga de operadores.
Plantillas en clases y funciones.
Polimorfismo dinámico.
2
Estructura básica de un programa:
# include <iostream>
return 0;
”hello World”
Es uno de los más simples programas que pueden estar escritos en C++, pero ya
contiene los componentes fundamentales que todos los programas escritos en C++.
Vamos a ver línea por línea en el código lo que hemos escrito:
Se trata de una l´ınea de comentario. Todas las líneas que comiencen con dos
signos barra se consideran comentarios y no tienen ningún efecto sobre el
comportamiento del programa. El programador puede usar para incluir breves
explicaciones o alegaciones dentro del código fuente en sí. En este caso, la línea es una
breve descripción de lo que es nuestro programa.
# include <iostream>
Las líneas que comienza con un símbolo de sostenido # son directivas para el
preprocesador. En este caso, la directiva # include <iostream> le dice al preprocesador
que incluya el iostream estándar de archivo. Este archivo específico (iostream) incluye las
declaraciones de la norma básica de entrada y salida de la biblioteca de C++.
3
using namespace std;
Todos los elementos del modelo de librería de C++ se declaran dentro de lo que se
denomina un espacio de nombres. Por lo tanto, para poder acceder a su funcionalidad
declaramos 7 con esta expresión que vamos a utilizar estas entidades. Esta línea es muy
frecuente en los programas que utilizan la biblioteca est´andar, y de hecho ser´a incluido
en la mayoría de los códigos.
int main ()
Esta línea es una declaración de C++, en términos simples es una expresión que
produce algún efecto. De hecho, esta declaración lleva a cabo la única acción que genera
un efecto visible en nuestro programa. Representa el flujo de salida y su objetivo es
insertar una secuencia de caracteres ( ”hello World”) en el flujo de salida estándar
(pantalla).
return 0;
4
Entrada y salida de datos en C++. Uso de cin, cout, scanf y printf:
La entrada y salida de datos en C++ es simple, al menos para los casos más
comunes. Con esto, se hace una comparación entre C++ y Java, pues leer una entrada del
usuario por teclado en C++ es bastante simple mientras que en Java implica una serie de
conceptos adicionales que la hacen un tanto más complicado. Por suerte para nosotros en
este trabajo veremos cómo leer por teclado en C++, en otras palabras, asignar a una
variable el valor que el usuario escriba por el teclado. Adicional a esto veremos también
cómo mostrar texto por pantalla en C++, es decir, salida de datos.
Vamos a comenzar primero con aprender a mostrar texto por pantalla en C++. Este
orden se debe a que cuando queremos pedirle algún dato al usuario primero debemos
hacerle saber lo que queremos que ingrese y para hacérselo saber debemos mostrarle un
mensaje con las indicaciones, por tal motivo es importante primero saber mostrar texto
en pantalla en C++ y luego a leer texto por teclado en C++.
Mostrar texto por pantalla en C++ es muy simple. Para imprimir una salida de texto
en C++ se hace uso de la instrucción cout, junto con <<. Es importante tener en cuenta
que la instrucción cout siempre va acompañada de << para controlar el flujo de datos que
sale. No se debe fijar mucho en ellos, solo tengamos siempre presente que cout viene
acompañado de << para tener cout <<como resultado.
5
El ejemplo presentado es bastante sencillo, excepto por un detalle. Si se ejecuta
este código en la pantalla, aparecerá un mensaje diciendo “Hola Mundo Desde
ProgramarYa”. Tal como se habrá notado el operador “ <<” se usa para concatenar o unir
dos cadenas de texto, por eso el resultado es el obtenido. Luego se usa “\n” lo cual crea un
salto de línea. No es obligatorio, pero es recomendable.
Ahora veamos un ejemplo, pero usando la función printf de C++, la cual también es
útil para imprimir valores en pantalla.
Ya tenemos claro cómo mostrar texto por pantalla en C++ ahora haremos uso de
este concepto y veremos cómo leer texto por teclado en C++.
6
debe de preocupar mucho por ellos, solo se debe tomar en cuenta que cada vez que vaya
a usar la instrucción cin se debe agregar >> para quedar con un cin>>. Una manera muy
sencilla de recordar esta instrucción es que in significa entrar y como se está programando
en C++ le añadimos la letra C al comienzo quedando así cin>> (sin olvidar los >>).
7
Ejemplo mejorado para leer datos en C++ usando getline y cin:
El operador scanf al igual que printf fueron ideados para el lenguaje C (no para C+
+), por lo cual su uso es más primitivo y, en cierto modo, complejo. Leer datos con scanf
implica comprender un poco el concepto de punteros y particularmente en el caso de
string (que es una librería de C++) se complica aún más, pues debemos convertir ese string
en un array definido de caracteres (char).
Observaremos un ejemplo sobre el uso de scanf y string en C++ para tener una
idea más concreta acerca de estas dificultades:
8
Como podemos ver, necesitamos seguir usando la sintaxis tipo "%s" para leer una
serie de caracteres, pero en esta ocasión debimos además especificar el tamaño del
mismo (100). Adicionalmente, en los siguientes argumentos de scanf, pasamos entonces
el nombre de la variable a la cual asignar el valor ingresado por el usuario.