This question already has an answer here:
I am doing research on reverse engineering. I am able to decompile .net dll files with reflector. But in reflector we can't decompile c++ dll files. Is there any other decompiler available to decompile c++ dll Files?
Unlike CLR languages, C++ does not compile into CIL or any sort of bytecode. Moreover, C++ compilers do not store metadata so it's almost impossible to restore original code (custom types, classes, etc). Native code might be heavily optimized as well. However, you can try to recreate pure C code with HexRays for IDA Pro (it's not free though).
It's not that easy. C++ gets translated into (sometimes) very optimized machine code.
There's a detailed article on http://www.codeproject.com/Articles/4210/C-Reverse-Disassembly containing more information.
Edit: or indeed, check out the links posted in comments by other people.