Manual C++

Embed Size (px)

Citation preview

  • 1. Manual bsicode Programacin en C++ Apoyo a la Investigacin C.P.D.Servicios Informticos U.C.M.

2. INDICEPROGRAMACION ORIENTADA A OBJETOS1. INTRODUCCION.....................................................................................................42. TIPOS DE DATOS ABSTRACTOS ( T.D.A. ).......................................................63. CONCEPTOS DE ORIENTACION A OBJETOS................................................73.1. Clases y mtodos.................................................................................................7 3.1.1. Tipos de clases............................................................................................73.2. Objetos.................................................................................................................73.3. Mens ajes..............................................................................................................8 3.3.1. Semejanzas entre programacin en lenguajes convencionales y P.O.O..8 3.3.2. Diferencias entre programacin en lenguajes convencionales y P.O.O..83.4. Herencia...............................................................................................................93.5. Herencia mltiple.............................................................................................103.6. Enlace de mtodos............................................................................................103.7. Tipos genricos..................................................................................................103.8. Asignacin esttica y dinmica de memoria..................................................113.9. Polimorfismo.....................................................................................................113.10. Reutilizacin.....................................................................................................11 PROGRAMACION EN C++INTRODUCCION...................................................................................................13C++ COMO UN ''C MEJORADO''......................................................................15 2.1. Comentarios y declaraciones en C++...............................................................15 2.2. Flujo de entrada/salida de C++........................................................................15 2.3. Cmo crear nuevos tipos de datos en C++......................................................15 2.4. Prototipos de funcin y verificacin de tipo....................................................16 2.5. Funciones en lnea..............................................................................................16 2.6. Parmetros por refere ncia................................................................................162.7. El calificador const.............................................................................................17 2.8. Asignacin dinmica de memoria mediante new y delete..............................18 2.9. Operador de resolucin de alcance unario......................................................18 2.10. Homonimia de funciones..................................................................................18 2.11. Plantillas de funcin.........................................................................................20PRIMERAS EXTENSIONES ORIENTADAS A OBJETOS.............................21 3.1. Cmo poner en prctica un TDA con una clase.............................................21 3.2. Alcance de clase y acceso a miembros de clase...............................................22 3.3. Cmo controlar el acceso a miembros.............................................................23 3.4. Cmo inicializar objetos de clase: constructores............................................24 3.5. Destructores.......................................................................................................25 3. 3.6. Cundo son llamados los destructores y constructores.................................263.7. Asignacin por omisin en copia a nivel de miembro....................................26CLASES....................................................................................................................274.1. Objetos constantes y funciones miembro const...............................................274.2. Composicin: clases como miembros de otras clases.....................................284.3. Funciones amigo y clases amigo.......................................................................284.4. Cmo utilizar un apuntador this......................................................................29 4.5. Asignacin dinmica de memoria mediante new y delete..............................304.6. Miembros de clase estticos..............................................................................304.7. Clases contenedor e iteradores.........................................................................304.8. Clases plant illa...................................................................................................314.9. Clases abstractas................................................................................................32HOMONIMIA DE OPERADORES......................................................................335.1. Fundamentos de la homonimia de operadores...............................................335.2. Restricciones sobre la homonimia de operadores..........................................335.3. Homonimia de operadores de insercin y de extraccin de flujo..................345.4. Homonimia de operadores unarios..................................................................345.5. Homonimia de operadores binarios.................................................................345.6. Estudio de caso: una clase array......................................................................355.7. Conversin entre tipos......................................................................................356. HERENCIA..............................................................................................................36 6.1. Tipos de here ncia...............................................................................................37 6.2. Clases base pblicas, protegidas y privadas....................................................37 6.3. Construccin y destruccin...............................................................................38 6.4. Herencia mltiple..............................................................................................387. POLIMORFISMO...................................................................................................398. PLANTILLAS PARA LOS NODOS.....................................................................409. COMPILAMOS UN PROGRAMA.......................................................................43 9.1. Pasos de la compilacin.....................................................................................4310. FLUJO DE ENTRADA/SALIDA DE C++..........................................................45 10.1. Archivos de cabecera de biblioteca iostream.................................................45 10.2. Funciones miembro get y getline....................................................................45 10.3. Entradas/salidas sin formato utilizando read, gcount y write......................46 10.4. Manipuladores de flujo...................................................................................4611. EJERCICIOS.........................................................................................................4712. BIBLIOGR AFIA...................................................................................................59 4. 1. INTRODUCCION C++ es una mejora sobre muchas de las caractersticas de C, y proporciona capacidades de P.O.O. que promete mucho para incrementar la productividad, calidad y reutilizacin del software. En C, la unidad de programacin es la funcin, con lo cual, se trata de una programacin orientada a la accin. En C++, la unidad de programacin es la clase a partir de la cual, los objetos son producidos. Se trata, pues, de una programacin orientada al objeto. Las bibliotecas estndar de C++ proporcionan un conjunto extenso de capacidades de entrada/salida. C++ usa entradas/salidas de tipo seguro; no podrn introducirse datos equivocados dentro del sistema.Se pueden especificar entradas/salidas de tipos definidos por el usuario, as como de tipos estndar. Esta extensibilidad es una de las caractersticas ms valiosas de este lenguaje de programacin.C++ permite un tratamiento comn de entradas/salidas de tipos definidos por usuario. Este tipo de estado comn facilita el desarrollo de software en general y de la reutilizacin de software en particular.La salida de flujo puede ser ejecutada mediante el operador de insercin de flujo :