1- It asks you to insert a string (not a palindrome);
2- Via bitset that word is converted into a string of bits;
3- This string of bits is copied in another string and reverted via string::reverse() method;
4- The program execute a bitwise OR of the two strings and returns;
For more info check the code