CS253: Software Development with C++

Spring 2018


Container Lab


The files for this lab are in ~cs253/Labs/Container. Copy them to your directory.

In this lab, we will examine a template class called fix, which implements a fixed-size array. This is similar to std::array, as opposed to std::vector, which implements a variable-size array.


  1. With the instructor, read and understand fix.h and main1.cc. Discuss the three methods of traversing the container used in main1.cc.
  2. Compile and execute main1.cc. Why is the fourth value so strange?
  3. Individually, examine main2.cc. Even though f[14] doesn’t exist, no error message is given. Change the operator[] method in fix.h to detect this error, show a message, and exit.
  4. Individually, examine main3.cc. Note that it uses fix3.h, not fix.h. See the new iterator sub-class of fix, and the changes to begin() and end()? The last increment of the iterator is invalid. However, this error is not detected. Change fix3.h so that this error is detected, the same as in the previous step.
  5. Show your work to the instructor.

Modified: 2017-04-08T13:29

User: Guest

Edit History Source
Apply to CSU | Contact CSU | Disclaimer | Equal Opportunity
Colorado State University, Fort Collins, CO 80523 USA
© 2015 Colorado State University
CS Building