BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 15 Sobrecarga de funciones y de operadores
Ejercicios Propuestos

15.1.- Escriba un programa que utilice una plantilla de función llamada main, para determinar el valor de tres argumentos. Pruebe el programa utilizando pares de enteros de caracteres y de números de punto flotante.

15.2.- Escriba un programa que utilice una plantilla de función llamada max, para determinar el mayor de tres argumentos. Pruebe el programa utilizando pares de enteros, caracteres y números de punto flotante.

15.3.- De tantos ejemplos como pueda de la homonimia de operadores implicita en C. De tantos ejemplos como pueda de la homonimia de operadores implicita en C++. De un ejemplo razonable de una situación en la cual pudiera usted desear hacer la homonimia explicita de un operador en C++.

15.4.- Los operadores C++ que no pueden tener homónimos son ___________, ___________, __________, __________ y ____________.

15.5.- La concatenación de cadenas requiere de dos operandos - las dos cadenas que han de concatenarse. En el texto mostramos como poner en práctica un operador de concatenación homónimo , que concatena el segundo objeto String a la derecha del primer objeto String, modificando así el primer objeto String. En algunas aplicaciones, es deseable producir un objeto concatenado String sin modificar los dos argumentos String. Diseñe un operador+ para permitir operaciones como

string1 = string2 + string3;

15.6.- (Ejercicio de homonimia de operadores final.) Para poder valorizar el cuidado que debe ponerse en la selección de operadores para su homonimia, liste cada uno de los operadores que pueda hacer homónimos en C++ y por cada uno de ellos liste un significado posible (o varios, si es apropiado) para cada una de las distintas clases que ha estudiado en el curso. Sugerimos que pruebe:

a) Arreglos

b) Pilas

c) Cadenas

Una vez hecho lo anterior, comente qué operadores parecen tener significado para una amplia variedad de clases. ¿Qué operadores parecen tener poco valor para la homonimia? ¿Qué operadores parecen ambiguos?

15.7.- Ahora ejecute un proceso descrito en el programa anterior pero a la inversa. Liste cada uno de los operadores capaces de homonimia en C++. Para cada uno de ellos, liste lo que usted sienta es quizás la "operación óptima" para la cual dicho operdor debería ser utilizado. Si existen varias operaciones excelentes, lístelas todas.

15.8.- Haga homonimia del operador de subíndice para regresar un miembro dado en una lista enlazada.

15.9.- Haga homonimia del operador de subíndice para regresar el elemento más grande de una colección, el segundo más grande, el tercero más grande, etcétera.

15.10.- El operador sizeof en un objeto String sólo devuelve el tamaño de los miembros de datos del objeto String; no incluye la longitud del espacio String asignado por new. Haga la homonímia del operador sizeof para que regrese el tamaño del objeto String, incluyendo la memoria dinámicamente asignada.