Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
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