Question: How would I go about writing a Makefile that would call, say, gedit hashtable.cpp main.cpp& ?
I know how to use them to compile and make tar files but I'm not sure about this one.

Answer: 
What's the difference exactly? Instead of `gcc` write `gedit` and you're done. `Make` just executes the command in certain order. It is tailored for compilations, for "general" scripting there are much more suitable tools, but you can do it if you wish.
Something like this would work:

```
.PHONY : all
all: hashtable.cpp main.cpp
    gedit hashtable.cpp main.cpp &

```

Gedit is not really ideal for Make though.