Without using arrays and without using strings? That makes it interesting.
Something like a linked list would obviously work, but perhaps storing each character in the local frame of a (recursive) function would be the simplest.
char c = std::cin.get() ;
if( c != '\n' )
std::cout << c ;
std::cout << "enter a sentence (terminate it with a new-line): " ;