Firstly you should post the actual errors your compiler gives you, not only does this make it easier for everyone else it also gives you an understanding of the compiler errors.
Normal convention is to capitalise the first letter of a class type.
Addition operator is unconventional it is actually preforming a += on the right hand side argument.
Void parameters are not required and are normally used from someone who is an old C user.
Constructors should really use initialisation lists for members where it is possible.
You should really provide a conversion constructor so you can create a bill from an amount, which would allow the following
bill bill::operator+(bill const & x) return bill(amount+ x.amount);}
Now to the stream error. The following line is what is causing it
The method ShowAmount does not return anything yet sends output to standard out. You either need to remove the start of the line "cout <<",pass the stream into the method to use, provide an stream operator for the class, provide a "getter" for the private member amount etc.
Edit:far too late, I got called away whilst writing the response :(
"You insulted me!" I did not say that in the private message Tom Sloper!