enough to read a TEXT password,stored in the source
The answer to that is yes. If the string isn't encrypted or obfuscated then yes.
Now if you meant decompile the entire program back into it's source then the answer is no. Not C++ unless it's .Net. In that case you can use .Net reflector.
For Java it decompiles into Bytecode. Most of the time, the string will be either obfuscated or plain text. When I used to crack games, I'd deob the jar first then use CJBE to go through the byte code and find what I want. Strings were sometimes obbed and sometimes plaintext. It all depends on who compiled it and with what.
But for bytecode there is a far higher chance of it being plaintext than pure C++. For .Net programs, you can decompile it all the way back to it's original source near 99% (estimation) of the time. Byte code is very very easy to follow as well. For C++ you'd need to know a bit of OP Codes/ASM.
For Each ctrl As Control In Me.Controls("pnlMainPanel").Controls
If ctrl.GetType Is GetType(System.Windows.Forms.Panel) Then
For Each subCtrl As Control In ctrl.Controls
If subCtrl.GetType Is GetType(System.Windows.Forms.TextBox) Then
If subCtrl.GetType Is ...