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.
|