为什么函数在声明为int时返回boolean?

1 c++ function return-value

我正在学习具有以前Java经验的C++.我在cplusplus.com中找到了以下示例:

int CDummy::isitme (CDummy& param)
{
  if (&param == this)
  { 
       return true; //ampersand sign on left side??
  }
  else 
  {    
       return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:false当我明确宣布该方法时,为什么它会返回布尔值int?在Java中永远不可能.这个例子的链接是:这里.

das*_*ght 8

虽然该函数的作者最好回答函数为什么做它所做的事情的问题,但很容易解释为什么C++允许这样的函数编译而没有问题.

在C++中bool一个基本的积分型,因此它可以自由地转换为数字:true1,并false变为零.