Grading details:
Assignment 4: Test code
Assignment 3: Test code
Assignment 2:
The following was used to test your code. // BEGIN Test.cpp // Commenting 10pts // (style similar or better than what's recommended in http://www.cs.uh.edu/~svenkat/C++CodingStandard) #define TEST1 20pts #define TEST2 20pts #define TEST3 20pts #define TEST4 20pts #define TEST5 5pts #define TEST6 5pts #include <iostream> using namespace std; #include "String.h" #ifdef TEST1 void test1() { const String string1 = "hello "; const String string2 = "there"; cout << string1 + string2 << endl; } #endif #ifdef TEST2 void test2() { String string1 = "hello"; String string2 = "there"; cout << string1 + " " + string2 << endl; String string3; cout << string1 + string3 + string2 << endl; } #endif #ifdef TEST3 void test3() { const String ha = "ha"; try { cout << "ha[0] is "; cout.flush(); cout << ha[0] << endl; } catch(OutOfRange ex) { cout << "Error: " << ex.getError() << endl; } try { cout << "ha[15] is "; cout.flush(); cout << ha[15] << endl; } catch(OutOfRange ex) { cout << "Error: " << ex.getError() << endl; } } #endif #ifdef TEST4 void test4() { const String s1; String temp = "hi"; temp [1] = 'o'; cout << temp << endl; } #endif #ifdef TEST5 void test5() { const String s1; cout << "Is s1 empty? " << !s1 << endl; } #endif #ifdef TEST6 void test6() { const String ha = "ha"; try { cout << "ha[0] is "; cout.flush(); cout << ha[0] << endl; } catch(const OutOfRange ex) { cout << "Error: " << ex.getError() << endl; } } #endif void main() { cout << "Test1 ---------------------------------" << endl; #ifdef TEST1 test1(); #endif cout << "Test2 ---------------------------------" << endl; #ifdef TEST2 test2(); #endif cout << "Test3 ---------------------------------" << endl; #ifdef TEST3 test3(); #endif cout << "Test4 ---------------------------------" << endl; #ifdef TEST4 test4(); #endif cout << "Test5 ---------------------------------" << endl; #ifdef TEST5 test5(); #endif } // END Test.cpp
Assignment 1:
Commenting 20 Good separation of interface from implementation 20 Correctness 20 (using object to access static members will result in loss of 4 pts) Static member initialization 20 Object members (no unnecessary members or code or forgetting const ) 20