You say 'besides one at a time' but this doesn't really make any sense to me, a sentence is made up of several words so you have to split it up into its component parts before you can convert each word.
You can split a string using istringstream like so
1 2 3 4 5 6 7 8
std::string str = "this is a string";
iss >> aWord; // now 'aWord' contains one word from the string
Note that this depends on the sentence being composed of just words and spaces, if it contains punctuation too you'll run into problems. I would just split the string like this, push each word into a std::vector, convert each word into pig latin individually then print each word in order.