You can do damn near anything with judicious use of the comma operator.
int money;
std::cout << "How much money do you have?" << std::endl;
std::cin >> money, std::cout << money << " $";
Will perform your input and output on one line. You could even do all three on the same line by changing the semicolon on the std::endl;
out for another comma.
I'm guessing that isn't what you wanted though. You wanted to use the output from std::cin directly without the variable, right? You can take a step further toward that with the comma operator:
int money;
std::cout << "How much money do you have?" << std::endl;
std::cout << (std::cin >> money, money) << " $";
You could also use a lambda for this purpose, but the syntax overhead of that is greater than what I wrote above
Unfortunately I don't know that you can get rid of two steps of formatted read, then return variable, without using some kind of sequence operator (as I did) or sticking the steps in a function (eg: a lambda), or using some formatted I/O routine that isn't standard C++ (which kind of amounts to the same thing). The problem is that ">>" is the C++ standard routine for formatted input, and that operator is designed to return the stream, not the variable read out.