The set size should be 7. Its actual value is 7 Here is the table: 0: good-bye 1: abc 2: zebra 3: hello 4: daddy 5: 6: friend 7: puppy The set size should be 7. Its actual value is 7 Here is the table: 0: 1: abc 2: 3: 4: 5: 6: 7: puppy 8: good-bye 9: 10: zebra 11: hello 12: 13: 14: daddy 15: friend "foo" is not in the set "puppy" is in the set. The iterator points to puppy "daddy" is in the set. The iterator points to daddy Here is the result of iterating: abc puppy good-bye zebra hello daddy friend set1.size() = 7, set2.size() = 7 After five inserts: set1.size() = 7, set2.size() = 12 The contents of set2: 0: gymnastics 1: abc 2: 3: 4: 5: 6: dance 7: puppy 8: good-bye 9: baseball 10: zebra 11: hello 12: ardvark 13: football 14: daddy 15: friend The results of iterating: gymnastics abc dance puppy good-bye baseball zebra hello ardvark football daddy friend Now testing the erase function. Tried erase "dance" and got num (should be 1) = 1 Tried erase "abc" and got num (should be 1) = 1 Tried erase "hello" and got num (should be 1) = 1 Here are the contents of set2: 0: gymnastics 1: 2: 3: 4: 5: 6: 7: puppy 8: good-bye 9: baseball 10: zebra 11: 12: ardvark 13: football 14: daddy 15: friend Putting the same values back in, but they may be stored in different locations. Here are the contents of set2: 0: gymnastics 1: dance 2: abc 3: 4: 5: 6: 7: puppy 8: good-bye 9: baseball 10: zebra 11: hello 12: ardvark 13: football 14: daddy 15: friend