Actualizado el 28 de Julio del 2017 (Publicado el 18 de Enero del 2017)
9.759 visualizaciones desde el 18 de Enero del 2017
664,3 KB
87 paginas
Creado hace 26a (20/04/1998)
(VFXHOD6XSHULRUGH,QJHQLHURV,QGXVWULDOHV
,QGXVWUL,QMLQHUXHQ*RLPDLODNR(VNROD
&'#$ '##
## &#%$%%
$SUHQGD&
FRPRVLHVWXYLHUDHQSULPHUR
,;07 ,7.J, /0 ,O3 • 48F 3,.4 #4/7J:0 • 48F ,7J, $,770: • #:134 4N
14384 7,E0 • !,9 :308 • -0794 ,7,-, • #:-F3 #4/7J:0
G
I
O
Z
l
S
X
U
L
T
/
G
J
T
K
X
V
’
7
-
3
E
9
8
,
-
0
$
3
,
$
$SUHQGD&
FRPRVLHVWXYLHUDHQSULPHUR
-DYLHU*DUFtDGH-DOyQ
-RVp,JQDFLR5RGUtJXH]
-RVp0DULD6DUULHJXL
5XILQR*RxL
$OIRQVR%UD]iOH]
3DW[L)XQHV
$OEHUWR/DU]DEDO
5XEpQ5RGUtJXH]
3HUWHQHFLHQWHDODFROHFFLyQ·$SUHQGD«FRPRVLHVWXYLHUDHQSULPHUR
1
2
3
ÍNDICE
INTRODUCCIÓN ........................................................................................................................................1
MODIFICACIONES MENORES...............................................................................................................2
2.1
CAMBIO EN LA EXTENSIÓN DEL NOMBRE DE LOS FICHEROS................................................................2
COMENTARIOS INTRODUCIDOS EN EL PROGRAMA ..............................................................................2
2.2
DECLARACIÓN SIMPLIFICADA DE VARIABLES TIPO ENUMERACIÓN.....................................................3
2.3
DECLARACIÓN SIMPLIFICADA DE VARIABLES CORRESPONDIENTES A ESTRUCTURAS..........................4
2.4
2.5 MAYOR FLEXIBILIDAD EN LA DECLARACIÓN DE VARIABLES ..............................................................4
SCOPE O VISIBILIDAD DE VARIABLES ..................................................................................................5
2.6
ESPECIFICADOR CONST PARA VARIABLES ...........................................................................................6
2.7
ESPECIFICADOR CONST PARA PUNTEROS.............................................................................................7
2.8
CONVERSIONES EXPLÍCITAS DE TIPO ..................................................................................................8
2.9
2.10 ESPECIFICADOR INLINE PARA FUNCIONES ...........................................................................................8
2.11 SOBRECARGA DE FUNCIONES..............................................................................................................9
2.12 VALORES POR DEFECTO DE PARÁMETROS DE UNA FUNCIÓN...............................................................9
2.13 VARIABLES DE TIPO REFERENCIA ......................................................................................................10
2.14 OPERADORES NEW Y DELETE PARA GESTIÓN DINÁMICA DE MEMORIA...............................................12
2.15 PUNTEROS DE TIPO VOID...................................................................................................................13
2.16 NUEVA FORMA DE REALIZAR LAS OPERACIONES DE ENTRADA Y SALIDA..........................................14
2.17 FUNCIONES CON NÚMERO DE PARÁMETROS VARIABLE.....................................................................15
3.7
3.8
3.9
MODIFICACIONES MAYORES.............................................................................................................16
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (OOP) ............................................16
3.1
CLASES, OBJETOS Y MÉTODOS.........................................................................................................17
3.2
EJEMPLO DE CLASE EN C++: NÚMEROS COMPLEJOS .........................................................................17
3.3
CLASE SIN SECCIONES PRIVADAS: STRUCT ........................................................................................23
3.4
CLASES CON SECCIONES PRIVADAS. .................................................................................................25
3.5
EXPANSIÓN INLINE ...........................................................................................................................27
3.6
3.6.1
Definición ..........................................................................................................................27
3.6.2
Implementación de las funciones inline.............................................................................27
ENTRADA Y SALIDA DE DATOS .........................................................................................................28
3.7.1
Una breve comparación con la entrada y salida de datos de ANSI C...............................29
OPERADORES NEW Y DELETE CON CLASES ........................................................................................30
CONSTRUCTORES Y DESTRUCTORES .................................................................................................31
Inicializadores ...................................................................................................................32
3.9.1
Llamadas al constructor....................................................................................................32
3.9.2
Constructor por defecto y constructor con parámetros con valor por defecto..................33
3.9.3
Constructor de oficio.........................................................................................................34
3.9.4
3.9.5
Constructor de copia .........................................................................................................34
Necesidad de escribir un constructor de copia .................................................................35
3.9.6
Los constructores y el operador de asignación (=)...........................................................37
3.9.7
3.9.8
Destructores ......................................................................................................................37
3.10 CLASES Y FUNCIONES FRIEND...........................................................................................................38
3.11 EL PUNTERO THIS..............................................................................................................................40
3.12 SOBRECARGA DE OPERADORES.........................................................................................................40
3.12.1 Clase cadena para manejo de cadenas de caracteres.......................................................41
3.12.2 Definición de funciones y operadores de la clase cadena.................................................45
3.12.3 Ejemplo de utilización de la clase cadena.........................................................................48
3.12.4
Sobrecarga de los operadores (++) y (--).........................................................................50
3.13 OBJETOS MIEMBRO DE OTROS OBJETOS. ...........................................................................................51
3.14 VARIABLES MIEMBRO STATIC............................................................................................................53
3.15 FUNCIONES MIEMBRO STATIC............................................................................................................55
4
HERENCIA.................................................................................................................................................57
NECESIDAD DE LA HERENCIA............................................................................................................57
4.1
DEFINICIÓN DE HERENCIA ................................................................................................................57
4.2
5
6
7
4.2.1
Variables y funciones miembro protected .........................................................................57
CONSTRUCTORES DE LAS CLASES DERIVADAS: INICIALIZADOR BASE ...............................................60
HERENCIA SIMPLE Y HERENCIA MÚLTIPLE........................................................................................60
CLASES BASE VIRTUALES .................................................................................................................61
CONVERSIONES ENTRE OBJETOS DE CLASES BASE Y CLASES DERIVADAS..........................................62
4.3
4.4
4.5
4.6
POLIMORFISMO .....................................................................................................................................63
IMPLEMENTACION DE LAS FUNCIONES VIRTUALES ...........................................................................65
5.1
FUNCIONES VIRTUALES PURAS .........................................................................................................66
5.2
CLASES ABSTRACTAS .......................................................................................................................67
5.3
DESTRUCTORES VIRTUALES .............................................................................................................67
5.4
ENTRADA/SALIDA EN C++ ...................................................................................................................69
ENTRADA/SALIDA CON FORMATO.....................................................................................................69
6.1
ACTIVAR Y DESACTIVAR INDICADORES ............................................................................................70
6.2
FUNCIONES MIEMBRO WIDTH(), PRECISION() Y FILL()........................................................................71
6.3
6.3.1 Manipuladores de entrada/salida......................................................................................71
SOBRECARGA DE LOS OPERADORES DE ENTRADA/SALIDA (<< Y >>)................................................
Comentarios de: Aprenda C++ como si estuviera en primero (2)