Manual de C++

Embed Size (px)

Citation preview

ContenidosArtculosIntroduccin Lo ms bsico Iteraciones y decisiones Estructuras Funciones Streams Arrays y cadenas de texto Desarrollo Orientado a Objetos Objetos y Clases Sobrecarga de Operadores Herencia Funciones virtuales Punteros Estructuras II Plantillas Excepciones Biblioteca Estndar de Plantillas Analisis y Diseo orientado a Objetos Problemas Resueltos 1 3 10 17 27 35 46 56 57 67 77 104 120 133 153 160 165 168 169

ReferenciasFuentes y contribuyentes del artculo Fuentes de imagen, Licencias y contribuyentes 172 173

Licencias de artculosLicencia 174

Introduccin

1

IntroduccinCapitulo 1: Lo ms bsico

Conceptos BsicosQu es un Lenguaje de ProgramacinAntes de hablar de C++, es necesario explicar que un lenguaje de programacin es una herramienta que nos permite comunicarnos e instruir a la computadora para que realice una tarea especfica. Cada lenguaje de programacin posee una sintaxis y un lxico particular, es decir, forma de escribirse que es diferente en cada uno por la forma que fue creado y por la forma que trabaja su compilador para revisar, acomodar y reservar el mismo programa en memoria. Existen muchos lenguajes de programacin de entre los que se destacan los siguientes: 1. 2. 3. 4. 5. 6. 7. 8. 9. C C++ Basic Ada Java Pascal Python Fortran Smalltalk

Historia de C++C++ es un lenguaje de programacin creado por Bjarne Stroustrup en los laboratorios de At&T en 1983. Stroustrup tom como base el lenguaje de programacin ms popular en aquella poca el cual era C. El C++ es un derivado del mtico lenguaje C. Este lenguaje apareci en la dcada de los 70 de la mano de Dennis Ritchie para la programacin en sistemas operativos Unix (el mejor ejemplo actual de un sistema operativo Unix es GNU/Linux), el cual surgi como un lenguaje generalista recomendado sobre todo para programadores ya expertos, ya que no llevaba implementadas muchas funciones que hacen a un lenguaje ms comprensible. Sin embargo, aunque esto en un principio puede convertirse en un problema, en la prctica es su mayor virtud,ya que permite al programador un mayor control sobre lo que est haciendo. Aos ms tarde, un programador llamado Bjarne Stroustrup, creo lo que se conoce como C++. Necesitaba ciertas facilidades de programacin,incluidas en otros lenguajes pero que C no soportaba, al menos directamente, como son las llamadas clases y objetos, conceptos muy en boga en la programacin actual. Para ello redise el C, ampliando sus posibilidades pero manteniendo su mayor cualidad, la de permitir al programador en todo momento tener controlado lo que est haciendo, consiguiendo as una mayor rapidez que no se conseguira en otros lenguajes. De clases y objetos baste saber por ahora que consisten en un sistema que pretende acercar los lenguajes de programacin a una comprensin ms humana basndose en la construccin de objetos, con caractersticas propias solo de ellos, agrupados en clases. Es decir por ejemplo, si yo quisiera hacer un programa sobre animales, creara una clase llamada animales, en la cual cada animal, por ejemplo un pato, sera un objeto, de tal manera que se ve el intento de esta forma de programar por ser un fiel reflejo de cmo los humanos (en teora) manejamos la realidad. Y con esta historia del C++ basta, ahora nos pondremos nuestros guantes para operar sobre el objeto que ahora nos ocupa: el C++.

Introduccin

2

Qu es C++C++ es un lenguaje de programacin orientado a objetos que toma la base del lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk. C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de programacin C con mecanismos que permitieran la manipulacin de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido. Posteriormente se aadieron facilidades de programacin genrica, que se sum a los otros dos paradigmas que ya estaban admitidos (programacin estructurada y la programacin orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programacin multiparadigma.

Herramientas NecesariasLas principales herramientas necesarias para escribir un programa en C++ son las siguientes: 1. Un equipo ejecutando un sistema operativo. 2. Un compilador de C++ 1. Windows: MingW (GCC para Windows) [1] 2. Linux (u otros UNIX): g++ [2] 3. Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE) 1. Windows: 1. Bloc de notas (no recomendado) 2. Editor Notepad++ [3] 3. DevCpp (incluye MingW) [4] 4. Code::Blocks [5] 2. Linux (u otros UNIX): 1. Kate [6] 2. KDevelop [7] 3. Code::Blocks [5] 4. SciTE [8] 4. Tiempo para Practicar Adicional 1. Saber Ingls 2. Haber conocido o estado familiarizado con C u otro lenguaje.Capitulo 1: Lo ms bsico

Referencias[1] [2] [3] [4] [5] [6] [7] [8] http:/ / www. mingw. org/ download. shtml http:/ / gcc. gnu. org/ http:/ / notepad-plus. sourceforge. net/ es/ site. htm http:/ / www. bloodshed. net/ devcpp. html http:/ / www. codeblocks. org/ http:/ / kate-editor. org/ http:/ / www. kdevelop. org/ http:/ / www. scintilla. org/ SciTE. html

Lo ms bsico

3

Lo ms bsico Introduccion Iteraciones y decisiones

Proceso de desarrollo de un programaSi deseamos escribir un programa en C++ se debe ejecutar como mnimo los siguientes pasos: 1. Escribir con un editor de texto plano un programa sintcticamente vlido 2. Compilar el programa 3. Ejecutar el programa Si deseamos escribir con el nombre hola.cpp un programa con emacs podemos ejecutar el siguiente comando: $emacs hola.cpp & A continuacin podemos escribir el siguiente programa en C++: #include using namespace std; int main() { cout