13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page XII — #12<br />

✐<br />

Índice g<strong>en</strong>eral<br />

11.5. Resum<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327<br />

11.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328<br />

12. Sobrecarga de operadores 331<br />

12.1. Precaución y tranquilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 331<br />

12.2. Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332<br />

12.3. Operadores sobrecargables . . . . . . . . . . . . . . . . . . . . . . . . . 333<br />

12.3.1. Operadores unarios . . . . . . . . . . . . . . . . . . . . . . . . . 333<br />

12.3.1.1. Increm<strong>en</strong>to y decrem<strong>en</strong>to . . . . . . . . . . . . . . . . . 336<br />

12.3.2. Operadores binarios . . . . . . . . . . . . . . . . . . . . . . . . . 337<br />

12.3.3. Argum<strong>en</strong>tos y valores de retorno . . . . . . . . . . . . . . . . . . 346<br />

12.3.3.1. Retorno por valor como constante . . . . . . . . . . . . 347<br />

12.3.3.2. Optimización del retorno . . . . . . . . . . . . . . . . . 347<br />

12.3.4. Operadores poco usuales . . . . . . . . . . . . . . . . . . . . . . 348<br />

12.3.4.1. El operador coma . . . . . . . . . . . . . . . . . . . . . 348<br />

12.3.4.2. El operador -> . . . . . . . . . . . . . . . . . . . . . . . 349<br />

12.3.4.3. Un operador anidado . . . . . . . . . . . . . . . . . . . 351<br />

12.3.4.4. Operador ->* . . . . . . . . . . . . . . . . . . . . . . . . 352<br />

12.3.5. Operadores que no puede sobrecargar . . . . . . . . . . . . . . . 354<br />

12.4. Operadores no miembros . . . . . . . . . . . . . . . . . . . . . . . . . . 355<br />

12.4.1. Directrices básicas . . . . . . . . . . . . . . . . . . . . . . . . . . 356<br />

12.5. Sobrecargar la asignación . . . . . . . . . . . . . . . . . . . . . . . . . . 357<br />

12.5.1. Comportami<strong>en</strong>to del operador = . . . . . . . . . . . . . . . . . 358<br />

12.5.1.1. Punteros <strong>en</strong> clases . . . . . . . . . . . . . . . . . . . . . 359<br />

12.5.1.2. Contabilidad de refer<strong>en</strong>cias . . . . . . . . . . . . . . . 361<br />

12.5.1.3. Creación automática del operador = . . . . . . . . . . 365<br />

12.6. Conversión automática de tipos . . . . . . . . . . . . . . . . . . . . . . . 366<br />

12.6.1. Conversión por constructor . . . . . . . . . . . . . . . . . . . . . 366<br />

12.6.1.1. Evitar la conversión por constructor . . . . . . . . . . . 367<br />

12.6.2. Conversión por operador . . . . . . . . . . . . . . . . . . . . . . 368<br />

12.6.2.1. Reflexividad . . . . . . . . . . . . . . . . . . . . . . . . 368<br />

12.6.3. Ejemplo de conversión de tipos . . . . . . . . . . . . . . . . . . . 370<br />

12.6.4. Las trampas de la conversión automática de tipos . . . . . . . . 371<br />

12.6.4.1. Actividades ocultas . . . . . . . . . . . . . . . . . . . . 372<br />

12.7. Resum<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373<br />

12.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373<br />

13. Creación dinámica de objetos 377<br />

13.1. Creación de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378<br />

XII<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!