false == 0 and true = !false. I.e. anything that is not zero and can be converted to a boolean is not false, thus it must be true. Some examples to clarify:
if(0) // false
if(1) // true
if(2) // true
if(0 == false) // true
if(0 == true) // false
if(1 == false) // false
if(1 == true) // true
if(2 == false) // false
if(2 == true) // false
cout << false // 0
cout << true // 1
true is equal to 1, but any non-zero int evaluates to true but is not equal to true except 1.