Question: COP 4 5 3 0 Proyecto 3 : Contenedor de listas doblemente enlazadas - M dulo de interfaz STL Detalles de la asignaci n Objetivos:

COP4530 Proyecto 3: Contenedor de listas doblemente enlazadas - Mdulo de interfaz STL Detalles de la asignacin Objetivos: Comprender la programacin genrica y la ocultacin de informacin mediante el desarrollo de contenedores genricos. Familiarizarse con el concepto de plantilla de clase y su uso. Uso de clases anidadas (iteradoras). Uso del espacio de nombres. Sobrecarga del operador. Tarea: Implementar una lista de plantilla de clase de lista doblemente enlazada y sus iteradores asociados. Requisitos: se proporciona un archivo de encabezado List.h, que contiene las interfaces de la plantilla de clase de lista doblemente vinculada List. En particular, contiene una estructura de nodo anidada y dos clases de iteradores anidados (iterator y const_iterator). No puede cambiar nada en el archivo List.h. El archivo List.h se adjunta a esta tarea. Se ha incluido un programa controlador test_list.cpp. Es un programa de prueba de ejemplo que ejecutar algunas pruebas en su implementacin de la plantilla de clase de lista doblemente enlazada para diferentes tipos de datos. No realice ningn cambio en este programa de controlador. Sin embargo, su clase ser probada con algo ms que este controlador de muestra. Se recomienda que escriba otros programas de controladores propios para realizar pruebas ms exhaustivas. Debe implementar las funciones miembro de la plantilla de clase de lista doblemente enlazada List en un archivo llamado List.hpp. Tenga en cuenta que List.hpp se ha incluido en el archivo de encabezado List.h (hacia el final del archivo). Como comentamos en la conferencia, no debes intentar compilar List.hpp (o List.h) por s mismos. Estos comprenden un encabezado que se incluir en otros programas que pueda escribir. Debe implementar todas las funciones miembro de List, List::iterator y List::const_iterator, y las funciones sobrecargadas sin clase operator==(), operator. ), y operador() incluido en Lista.h. El diseo del contenedor Lista sigue el presentado en el libro de texto. Tiene tres variables miembro, el tamao, la cabeza y la cola. theSize registra el nmero de elementos de la lista. La cabeza debe apuntar al primer nodo, la cola debe apuntar a un ganglio centinela (uno pas por el ltimo nodo de datos). Una lista vaca slo contendr el ganglio centinela. Su implementacin contendr ms funciones que las de la implementacin del libro de texto. Describimos los requisitos de cada funcin a continuacin (es posible que estas especificaciones no escriban las firmas de las funciones en detalle; consulte el archivo List.h para obtener la declaracin detallada de la funcin). Funciones miembro de la clase const_iterator anidada: const iterator(): constructor predeterminado de parmetro cero. Establezca la corriente del puntero en nullptr. operador: devuelve una referencia al elemento correspondiente en la lista llamando a la funcin miembro retrieve(). operador++(), operador++(int), operador--(), operador--(int): operadores de incremento y decremento de prefijo y postfijo. operador==()y operador!=(): dos iteradores son iguales si se refieren al mismo elemento. recuperar(): devuelve una referencia al elemento correspondiente en la lista. iterador constante (Nodo** p): constructor de un parmetro. Establezca el puntero actual en el puntero del nodo dado p. Nota: La clase const_iterator est diseada para acceder a nodos individuales cambindolos.
 COP4530 Proyecto 3: Contenedor de listas doblemente enlazadas - Mdulo de

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!