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 18 Clases: Definiciones
Ejercicios Propuestos

18.6.- Defina una clase para un tipo llamado TipoContador. Los objetos de este tipo sirven para contar cosas, por lo que registran una cuenta que es un número entero no negativo. Incluya un constructor predeterminado que establezca el contador a cero y un constructor con un argumento que establezca el contador al valor especificado por su argumento. Incluya funciones miembro para incrementar y decrementar el contador en uno. Aegurese de que ninguna función miembro permita que el valor del contador se vuelva negativo. También incluya una función miembro que devuelva el valor actual de la cuenta y otra que envíe la cuenta a un flujo de salida. La función miembro para efectuar la salida tendrá un parámetro formal de tipo ostream para el flujo de salida que recibe las salidas. Incruste su definición de clase en un programa de prueba.

18.7.- Defina brevemente cada uno de los términos siguientes: herencia, herencia múltiple, clase base y clase derivada.

18.8.- Un tipo particular de clase es la que se llama clase colección o una clase contenedor. Una clase de este tipo contiene elementos de otras clases. Algunos tipos de clase de colección son los arreglos, las pilas , las colas, las listas enlazadas, los árboles, las cadenas de caracteres, los conjuntos, las bolsas, los diccionarios, las tablas, etc. Una clase contenedor o de colección proporciona en forma típica servicios como es insertar un elemento, borrarlo y buscarlo, combinar dos conjuntos o colecciones (es decir, los elementos que sean comunes a ambas), imprimir una colección, encontrar el elemento más grande en la colección, encontrar el elemento más pequeño en la colección, encontrar la suma de los elementos de la colección, etc.

  1. Haga una lista de todos los tipos de clase de colección que se le puedan ocurrir (incluyendo aquellos que ya hemos mencionado).
  2. Arregle estas clases de colección en una jerarquía de clases. Quizás desee distinguir entre colecciones ordenadas y colecciones desordenadas.
  3. Ponga en práctica todas las clases que pueda, utilizando la herencia para minimizar la cantidad de código nuevo que deba escribir para la creación de cada una de las nuevas clases.
  4. Escriba un programa manejador que pruebe cada una de las clases en su jerarquía de herencia.

18.9.- Compare la asignación dinámica de memoria mediante los operadores de C++ new y delete, con la asignación dinámica de memoria utilizando las funciones de la biblioteca estándar de C malloc y free.