OutFile << " Subtotal: $" << subtotal << endl;
and so on you are sending the string to the output file stream.
A better solution is build strings which you can send to out or write in an extra function to the file.
You better refurbish your code to make it more understandable. OutFile is a bad name for a variable and you have even a doublette as class member. exit(1); is also a bad idea.
Tip: improve your knowledge about class design and learn to use the debugger.