Está en la página 1de 1088
ILAMACIén de ju, ea "NOtecas 20st, Contenido Prefacio Antes de empezar 1a 12 13 14 15 16 17 18 19 1.10 1 -12 13 14 15 16 17 18 119 1.20 121 1.22 1.23 2a 22 23 24 25 26 27 28 29 Introduccién a las computadoras, Internet y World Wide Web Introduceién Qué es una computadora? Organizacién de una computadora Los primeros sistemas operativos Computacién personal, dist Internet y World Wide Web Web 2.0 Lenguajes miquina, lenguajes ensambladores y lenguajes de alto nivel Historia de Cy C++ Biblioteca estinelar de C++ Historia de Java FORTRAN, COBOL, Pascal y Ada BASIC, Visual Basie, Visual C++, C# y NET ‘Tendencia clave de software: la tecnologia de los objetos Entorno de desarrollo tipico en C++ Generalidades acerca de C++ y este libro Prueba de una aplicacién en C++ Tecnologias de software Programacién de juegos con las bibliotecas Ogre Futuro de C++: Bibliotecas Boost de cédigo fuente abierto, TRI y C++0x Ejemplo prictico de Ingenieria de Software: introduccién a la tecnologia de objetos y el UML Repaso Recursos Web Introduccion a la programacion en C++ Introduccién ‘Su primer programa en C++: imprimir una linea de texto Modificacién de nuestro primer programa en C++ Otro programa en C++: suma de enteros ‘Conceptos acerca de la memoria Aritmética ‘Toma de decisiones: operadores de igualdad y relacionales (Opcional) Ejemplo prictico de Ingenieria de Software: como examinar la especificacién de requerimientos del ATM. Repaso 35 36 36 39 40 44 45 47 52 59. A larvictimas de la tracedia de Virginia Tech, ne fanaa exe amngsory a toda la comsided de Virginta Teoh. Panly Harvey Deitel ‘Datos de catalogs DDEITEL, HARVEY M. ¥ PAUL J. DEITEL ‘Cémo programar en C++. Sexta edicién PEARSON EDUCACION, México 2009 ISBN: 978.970-26-12735 Area: Computacién Formato: 20 X 25.5 *) 1037 Herencia mitiple 1039 Herencia multiple y clases base virtual 1043, Repaso 1047 xvi Al Da D2 D3 D4 DS DG El E2 E3 E4 BS £6 E7 Eg E9 E10 Ell E12 E13 E14 F FL F2 3 F4 BS FG F7 FS ES E10 Contenido Tabla de precedencia de operadores y asociatividad Precedencia de operadores Conjunto de caracteres ASCII Tipos fundamentales Sistemas numéricos Introduccién Abreviatura de los niimeros binarios como ntimeros actales y hexadecimales Conversin de ntimeros octales y hexadecimales a binarios Conversién de un ntimero binario, octal o hexadecimal a decimal Conversién de un nimero decimal a binario, octal o hexadecimal Nuimeros binarios negativos: notacién de complemento a dos Temas sobre cédigo heredado de C Incroduecién Redireccién de la entrada/salida en sistemas UNIX/LINUX/Mac OS X y Windows Listas de argumentos de longitud variable Uso de argumentos de linea de comandos Observaciones acerca de la compilacién de programas con varios archivos de cédigo fuente ‘Terminacién de los progeamas con exit y atexit Calificador de tipo volatile Subijos para constantes eniesas y de punto flocante Manejo de sefiales Asignacién dindmica de memoria con caloc y real Toc Bifurcacién incondicional: goto Uniones Especificaciones de vinculacién Repaso Preprocesador Introduccién La directiva del procesador #include La directiva del preprocesador #define: constantes simbdlicas La directiva del preprocesador #define: macros Compilacién condicional Las directivas del preprocesador error y #pragna Los operadores # y ## Constantes simbélicas predefinidas Aserciones Repaso 1051 1054 1053 1054 1056 1057 1059 1060 1061 1061 1062 1067 1068 1068 1069 1071 1072 1074 1075 1075 1076 1078 1078 1080 1082 1083 1088 1089 1089 1090 1090 1092 1092 1093 1093 1093 1094 Contenido xvii G _Cédigo del caso de estudio del ATM 1098 G.1 __ Implementacién del caso de estudio del ATM. 1098 G2 Laclase ATH 1099 G3 Lachase Pantalla 1104 GA Laclase Teclado 1105 G.5__ Laclase DispensadorEfectivo 1106 G6 __Laclase RanuraDeposito 1108 G.7 _Laclase Cuenta 1109 G8 Lachase BaseDatosBanco mu G9 Laclase Transaccion 1114 G.10 La clase Solici tudSatdo 115 G.11_ Laclase Retiro 1117 G.12 La clase Deposi to 1121 G.13 El programa de prucba EjenploPracticoATM..cpp 1124 G14 Repaso 1124 H UML 2: tipos de diagramas adicionales 1125 H.1 — Introduccién 1125 H.2_ Tipos de diagramas adicionales 1125 I Uso del depurador de Visual Studio 1127 Li Introduccién as 12 Los puntos de interrupcisn y el comando Centinuar 1128 13 Las ventanas Variables locales c Inspeccién 1132 14 Control de la ejecucién mediante los comandos Paso a paso por instrucciones, Paso a paso por procedimientos, Paso a paso para salir y Continuar 1135, LS La ventana Automatico: 1137, 1.6 — Repaso 1138 J Uso del depurador de GNU C++ 1141 pet Introduccién 1142 J.2 Los puntos de interrupcidn y los comandos run, stop, continue y print 1142 J.3. Los comandos print y set 1147 J4 Control de la ejecucién mediante los comandos step, finish y next 1149 JS El comando watch 1151 J. Repaso 1153, Bibliogra' 1157 indice 1163 Prefacio “EL principal mérito del lenguaje es la clavided...” —Galen Bienvenido a C+# y Cémo programar en C++, sexta ediciér\ En Deitel 8& Associates escribimos libros de texto sobre lenguajes de programacién y libros de nivel profesional para Prentice Hall, impartimos capacitacién a empresas en todo el mundo y desarrollamos negocios en Internet con Web 2.0. Este libro refleja los cambios importantes en el lenguaje ‘C++ y en las formas preferidas de impartir y aprender programacién. Se han realizado ajustes considerables en todos los capitulos. La seccién Recorrido a través del libro del prefacio proporciona a los instructores, estudiantes y profesionales una idea del tipo de cobertura que ofrece este texto sobre C++ y la programacién orientada a objetos. Caracteristicas nuevas y mejoradas He aqui una lista de las actualizaciones que hemos realizado a la sexta edicién de Gémo programar en G++: + Programacién de juegos. Hemos agregado un nuevo capitulo sobre la programacién de juegos. Los ingresos de la industria de juegos de computadora son ya mayores que los de la industria cinematografica, con lo cual se crean muchas oportunidades para los estudiantes interesados en carreras relacionadas con la programacién de juegos. El capitulo 23, Programacién de juegos con Ogre, introduce la programacién de juegos y los grificos con el motor de grificos Ogre 3D, de cédigo fuente abierto. Hablaremos sobre las cuestiones bisicas relacio- nadas con la programacién de juegos. Después le mostraremos cémo utilizar Ogre para crear un juego simple ‘con una mecénica de juego similar al clésico vidcojuego Pong®, desarrollado originalmente por Atari en 1972. Demostraremos cémo crear una escena con grificos 3D a colores, cémo animar los objetos méviles de manera uniforme, cémo usar los temporizadores para controlar la velocidad de animacién, detectar colisiones entre objetos, agregar sonido, aceptar la entrada mediante el teclado y mostrar salida de texto. + El futuro de C++. Hemos agregado el capftulo 24, en el que se considera el futuro de C++5 presentamos las Bibliotecas Boost de C++, el Informe técnico 1 (TRI) y C++0x. Las bibliotecas gratuitas Boost de cédigo fuente abierto son creadas por miembros de la comunidad de C++. El Informe técnico 1 describe los cam- ios propuestos a la Biblioteca estindar de C++, muchos de los cuales estén basados en las bibliotecas Boost actuales. El Comité de estindares de C++ esta revisando el Estindar de C++. Los principales objetivos para el nuevo estindar son faclitar el aprendizaje de este Lenguaje, mejorar las herramientas para construir bibliotecas ¢€ incrementar su compatibilidad con el lenguaje C. El iltimo estndar se publicé en 1998. El trabajo sobre el nuevo estandar, que se conoce actualmente como C++0x, empez6 en 2003 y es probable que se publique en 2009. Incluiré cambios al lenguaje del micleo y, muy probablemente, a muchas de las bibliotecas en el TRI. ‘Aqui veremos las generalidades acerca de las bibliotecas del TRI y proporcionaremos cédigos de ejemplo para las de “expresiones regulares’ y “apuntadores inteligentes”. Las expresiones regulares se utilizan para relacio- nar patrones de caracteres especificos en el texto. Pueden.usarse para validar los datos, para asegurar que se encuentren en un formato especifico, para sustituir partes de una cadena con otra o para dividirla. Muchos de los errores comunes en el cédigo de C y C++ se relacionan con los apuntadores, una poderosa herramien- ta de programacién que estudiaremos en el capitulo 8, Apuntadores y cadenas basadas en apuntadores. Los apuntadores inteligentes nos ayudan a evitar errores al proporcionar una funcionalidad adicional a fos apu tadores estindar. ‘+ Importantes revisiones de contenido. ‘Todos los capitulos se han act lizado y mejorado de manera conside- rable, Ajustamos la claridad y precisidn de la escricura, asi como el uso de la terminologia de C++, de confor- midad con el documento del estindar ISO/IEC de C++ que define el lenguaje.

También podría gustarte