Be careful with types. For example, your get_last_word function is meant to return a string but in your error case you return 0. If you want to return an empty string, use return "";
I'm guessing that you might be working under restrictions about what library functions you're allowed to use here, but you don't say so.
If you're allowed to use anything in the standard library, have a look at std::string::find_last_ofstd::string::find_last_of
as a replacement for your first loop.
Similarly, look at std::string::substrstd::string::substr
as a replacement for your second loop. Building a string one character at a time is generally discouraged because it's quite inefficient. Something like substrsubstr
will be more efficient because it can, for example, allocate all the memory needed by your string in one go.