to be honest, i dont think you will get much help from this post, because theres way too much stuff! your description is quite long, and there is also a large amount of code, and i dont think many people would take the time to go through it all (i know im not that patient).

i would suggest you edit your initial post including only relevant information and code. it appears you have some assignment you have to do and youre having trouble doing it. pick a specific part of your assignment that you have tried to implement it and ran into problems, and describe what you want it to do, what it is doing, and what youre telling it to do (i.e. the relevant code),

You've also posted your professor's test code, but your own work is really in a rudimentary stage and doesn't show any problems that you might have.

A suggestion: work at one function at a time, but perhaps don't initially try to compile it against the "main.cpp", since most of the functionality will be missing. Or declare all the functions to begin with, so you can see if main.cpp is going to compile with your declaration.

In any case, compile your code often (after writing each function or even more often). Don't write it all at once and then end up with hundreds of errors.

If you have hundreds of errors, you'll need to start with the first. Fix that, then compile again. Often the following errors result from the first one and it certainly doesn't mean there is 100s of unique syntax errors for you to fix. (I don't know your abilities, though.)

It would also help to test code as soon as possible. Try to test each function before implementing the next (you could try to use your main for that: you'll need to determine which functions you need first to test other - like equals, etc, and you might need to write stubs for others.)

Backup the main.cpp, then make your own main.cpp that only contains the tests for the stuff you've already written. Whenever you add a new function, add the relevant test snippet from the original main.cpp to your own.

when i saw that you completely deleted the first post, i thought it was a sign you "gave up" and i was initially upset that you might have taken what i said the wrong way. thankfully after seeing your other post it appears your going at it again from a different, more iterative/step-by-step approach. keep it up and, again, when you run into a specific problem, let us know (with relevant information, examples, compiler messages, etc).