Your labs will, of course, be graded for correctness. The grader will run your executable on a test file designed to see if your program is working correctly. But even if your program produces correct output, you may not get full credit. The grader will also look at your source code and consider other factors such as
For example, assume Rep has the following field names:
rep_field_name (Rep, 0, Queue_Of_Item, queue_rep);
rep_field_name (Rep, 1, Boolean, flag_rep);
If the initial Rep should be an empty queue and a flag
set to true, then self[flag_rep] = true must
be added to Initialize. Do not add a statement to clear
self[queue_rep] since an empty queue is the
initial value of Queue_Of_Item.
For example, assume Rep has the following field names:
rep_field_name (Rep, 0, Queue_Of_Item, queue_rep);
rep_field_name (Rep, 1, Queue_Of_Item*, queue_ptr);
If the body of Finalize is left empty, then queue_rep
would be destroyed, but any queue pointed to by queue_ptr
would still exist, and be inaccessible. To avoid this, you
must add delete queue_ptr to the body of Finalize.