




































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Lenguaje C paso a paso y ejemplos
Tipo: Monografías, Ensayos
1 / 44
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





































iv Índice resumido
E. Código de las clases 229
Bibliografía recomendada 249
Índice alfabético 253
Índice resumido iii
Índice general v
Índice de cuadros xi
2 Capítulo 1. Introducción
programación Simula, aunque también tomó ideas de otros lenguajes importantes de la época como ALGOL68 o ADA. Durante los siguientes años, Stroustrup continuó el desarrollo del nuevo lenguaje y en 1983 se acuñó el término C++. En 1985, Bjarne Stroustrup publicó la primera versión de “The C++ Programming Language” (Addison-Wesley, 1985), que a partir de entonces se convirtió en el libro de referencia del lenguaje. En la actualidad, este lenguaje se encuentra estandarizado a nivel internacional con el estándar ISO/IEC 14882:1998 con el título “Information Technology - Programming Languages - C++”, publicado el 1 de septiembre de 1998. En el año 2003 se publicó una versión corregida del estándar (ISO/IEC 14882:2003). Finalmente, en la actualidad se está preparando una nueva versión del lenguaje, llamada “C++0X”, que se espera que esté preparada para el año 2010.
1.2. Ventajas de C++
Las principales ventajas que presenta el lenguaje C++ son:
Difusión: al ser uno de los lenguajes más empleados en la actualidad, posee un gran número de usuarios y existe una gran cantidad de libros, cursos, páginas web, etc. dedicados a él.
Versatilidad: C++ es un lenguaje de propósito general, por lo que se puede emplear para resolver cualquier tipo de problema.
Portabilidad: el lenguaje está estandarizado y un mismo código fuente se puede compilar en diversas plataformas.
Eficiencia: C++ es uno de los lenguajes más rápidos en cuanto ejecución.
Herramientas: existe una gran cantidad de compiladores, depuradores, librerías, etc.
1.3. Objetivos de este libro
Este libro no es, ni mucho menos, una referencia del lenguaje C++. Tampoco es un libro sobre programación orientada a objetos. Entonces, ¿qué es? El objetivo de este libro es proporcionar un material de aprendizaje breve y sencillo, donde se presenten los conceptos básicos del lenguaje C++ relacionados con la orientación a objetos conforme se vayan necesitando y paso por paso. Siguiendo el principio de Pareto de que “el 20 % de algo es el responsable del 80 % del resultado”, en este libro sólo se explica una pequeña parte de C++, pero que se puede considerar que es la más importante.
1.4. Contenido de los capítulos 3
El libro está estructurado como soporte de un curso de 10 horas de duración de introducción al lenguaje C++. Los capítulos principales, del 2 al 6, constituyen las 5 sesiones del curso, con una duración de 2 horas por sesión. Todas las explicaciones van acompañadas de ejemplos, seguidos de ejecuciones que muestran la entrada/salida del ejemplo para afianzar los conceptos. Es aconsejable que el lector lea este libro delante del ordenador, pruebe los ejemplos y los modifique para comprender mejor su funcio- namiento. Además, al final de cada capítulo se proponen ejercicios de autoevaluación y de programación, todos ellos con sus correspondientes soluciones. En este libro, suponemos que los lectores (alumnos del curso) poseen unos cono- cimientos mínimos sobre programación en general. Además, también suponemos que los alumnos conocen la sintaxis básica de C, C++, Java o JavaScript, por lo que este libro no explica las sentencias básicas del lenguaje (sentencias condicionales, bucles, etc.) o los diferentes tipos de datos que se pueden emplear (entero, carácter, etc.). De todos modos, en los apéndices del libro se incluyen las palabras clave, los operadores y las sentencias del lenguaje C++. La principal aportación de este libro, frente a otros libros similares, es que en este libro hemos querido reflejar los problemas a los que se enfrenta un lector cuando aprende un lenguaje de programación nuevo. La mayoría de los libros suponen que el lector no va a cometer errores, por lo que no hacen ninguna referencia a los posibles problemas de compilación del código o de comprensión de los conceptos explicados. Sin embargo, en este libro hemos optado por incluir algunos ejemplos con errores para mostrar los mensajes que genera el compilador. Además, en algunos apartados hemos dejado planteadas preguntas para que el lector pruebe y descubra la respuesta por sí mismo. Por último, este libro posee un capítulo dedicado en su totalidad a los errores más comunes que se cometen al programar con C++. Este capítulo, que es toda una novedad frente a otros libros similares, se puede emplear de dos formas: como material de aprendizaje o como referencia para buscar la solución frente a un error que se resiste a nuestros intentos por solucionarlo.
1.4. Contenido de los capítulos
Este libro se compone de 9 capítulos y 5 apéndices, además de varios índices (cua- dros, figuras, etc.) que facilitan la búsqueda de información y la bibliografía recomen- dada. El el Capítulo 2 (Clases y objetos) se introducen los conceptos de clase y obje- to, los elementos principales de la programación orientada a objetos. Se explica cómo declarar una clase y cómo crear objetos a partir de ella. Además, se explica la separa- ción de la interfaz y la implementación, lo que posibilita estructurar el código en va- rios ficheros para permitir la compilación separada. Por último, se comentan algunos aspectos relacionados con los ficheros de encabezado y los espacios de nombres.
1.5. Sistema operativo y compilador 5
TFecha. Finalmente, este libro termina con la (Bibliografía recomendada), donde se incluye una serie de libros sobre el lenguaje C++. Además, también se incluyen al- gunos enlaces a páginas de Internet donde se puede encontrar más información sobre el lenguaje C++ o sobre herramientas de programación.
1.5. Sistema operativo y compilador
Todo el código que se muestra en este libro ha sido compilado en Linux con el compilador g++ de GNU versión 3.3.2. Los mensajes de error que se recogen en este documento han sido generados por dicho compilador y pueden variar entre distintas versiones y, evidentemente, entre distintos compiladores. Los ejemplos de código están basados en C++ estándar, por lo que se pueden compilar sin problemas con otros compiladores que cumplan el estándar.
1.6. Convenciones tipográficas
Con el fin de mejorar la legibilidad del texto, distintas convenciones tipográficas se han empleado a lo largo de todo el libro. Los ejemplos, que normalmente están completos y por tanto se pueden escribir y probar, aparecen destacados y numerados dentro de una caja de la siguiente forma (el texto de los ejemplos emplea un tipo de letra de paso fijo como Courier):
Ejemplo 1. 1 #include
Los números de línea permiten hacer referencia a una línea concreta del código. Los ejemplos parciales, que por sí solos no se pueden compilar y que normalmen- te complementan o corrigen un ejemplo completo que ha aparecido anteriormente, también aparecen destacados y numerados de la siguiente forma:
6 Capítulo 1. Introducción
1 class NombreClase { 2 // Contenido de la clase 3 };
También se ha empleado la notación anterior para indicar las ordenes que se pueden ejecutar desde la línea de comandos del sistema operativo. Por ejemplo:
1 g++ -o ejem1 ejem1.cc
La salida que genera un código de ejemplo o un programa como el compilador cuando un código presenta errores, se muestra destacada con el siguiente formato:
Salida ejemplo 1. 1 ejem1.cc: In function ‘int main()’: 2 ejem1.cc:9: ‘TCoordenada’ undeclared (first use this function) 3 ejem1.cc:9: (Each undeclared identifier is reported only once for 4 each function it appears in.) 5 ejem1.cc:9: syntax error before ‘;’ token
El título de la salida hace referencia al ejemplo que lo produce. Por último, los estilos empleados a lo largo del texto son:
Los nombres de los programas se muestran con un tipo de letra sin palo (sans serif). Ejemplo: Linux, g++, gdb, etc.
Las palabras no escritas en español aparecen destacadas en cursiva. Ejemplo: layering, link, etc.
Las extensiones de los ficheros, las palabras clave de los lenguajes de programa- ción y el código incluido dentro del texto se muestra con un tipo de letra de paso fijo como Courier. Ejemplo: .cc, g++, int a = 10;, etc.
Los términos importantes, cuando aparecen por primera, se destacan con un tipo de letra sin palo (sans serif) y en negrita. Ejemplo: clase, ocultación de información, operador de resolución de alcance, etc.