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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

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

✐<br />

Capítulo 12. Sobrecarga de operadores<br />

9. Cree una clase que cont<strong>en</strong>ga un único private char. Sobrecargue los operadores<br />

de flujos de <strong>en</strong>trada/salida > (como <strong>en</strong> IostreamOperatorOverloading.<br />

cpp) y pruébelos. Puede probarlos con fstreams, stringstreams y cin y<br />

cout.<br />

10. Determine el valor constante ficticio que su compilador pasa a los operadores<br />

postfijos ++ y --.<br />

11. Escriba una clase Number que cont<strong>en</strong>ga un double y añada operadores sobrecargados<br />

para +, -, *, / y la asignación. Elija los valores de retorno para estas<br />

funciones para que las expresiones se puedan <strong>en</strong>cad<strong>en</strong>ar y que sea efici<strong>en</strong>te.<br />

Escriba una conversión automática de tipos operator int().<br />

12. Modifique el ejercicio 11 para que use la optimización del valor de retorno, si todavía<br />

no lo ha hecho.<br />

13. Cree una clase que cont<strong>en</strong>ga un puntero, y demuestre que si permite al compilador<br />

sintetizar el operador = el resultado de usar ese operador serán punteros<br />

que estarán solapados <strong>en</strong> la misma ubicación de memoria. Ahora arregle el<br />

problema defini<strong>en</strong>do su propio operador = y demuestre que corrige el solapami<strong>en</strong>to.<br />

Asegúrese que comprueba la auto-asignación y que maneja el caso<br />

apropiadam<strong>en</strong>te.<br />

14. Escriba una clase llamada Bird que cont<strong>en</strong>ga un miembro string y un static int.<br />

En el constructor por defecto, use el int para g<strong>en</strong>erar automáticam<strong>en</strong>te un id<strong>en</strong>tificador<br />

que usted construya <strong>en</strong> el string junto con el nombre de la clase(Bird<br />

#1, Bird #2, etc). Añada un operador

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

Saved successfully!

Ooh no, something went wrong!