What This Document Is
This document outlines Lab 6.22 for CIS 22C (Data Abstraction and Structures) at De Anza College. The lab assignment focuses on extending a doubly-linked list implementation by incorporating templates, operator overloading, and getter/setter methods. It builds upon previous work with linked lists and introduces the complexities of generic programming.
Why This Document Matters
This lab is intended for students enrolled in CIS 22C who are learning about data structures and object-oriented programming. Successful completion demonstrates an understanding of templates, operator overloading (specifically stream insertion and relational operators), and the practical application of these concepts to a doubly-linked list ADT. It’s a core component of the course curriculum, likely contributing to a student’s overall grade.
Common Limitations or Challenges
This document is a lab assignment specification, not a complete tutorial. It assumes prior knowledge of linked lists, C++ syntax, and ADT principles. It does not provide detailed explanations of templates or operator overloading; students are expected to have a foundational understanding of these concepts from lectures.
What This Document Provides
The document includes:
* A description of the required modifications to existing `College`, `ListNodeADT`, and `LinkedListADT` classes.
* Specific operator overloading tasks (stream insertion, relational operators).
* Instructions to define setters and getters within `ListNodeADT.h`.
* Requirements for completing the `deleteNode()`, `searchList()`, and `displayListBack()` methods in `LinkedListADT.h`.
* Guidance on updating the `searchManager` and `displayManager` functions in `main.cpp`.
* A list of provided files: `College.h`, `College.cpp`, `ListNodeADT.h`, `LinkedListADT.h`, and `main.cpp`.
This preview does *not* include the complete code for the classes, the implementation details of the methods, or the contents of the `colleges.txt` input file. It also does not provide solutions or step-by-step instructions for completing the lab.