在c++中允许 bool 量和 int 整形常量相互转换,并且用cout<<true; 在控制台上可以输出为 1
int main(int argc, _TCHAR* argv[])
{
int num = 0;
int total = 2;
bool isBool = true; cout<<"Hello \tWorld"<<endl;
/*printf("%s", "ddd");*/
//cin>>num;
//cout<<num;
cout<<"num is bool:"<<(bool) num<<endl;
cout<<"total is bool:"<<(bool) total<<endl;
cout<<"isBool is bool:"<<(int)isBool<<endl;
cout<<"isBool is bool:"<<isBool<<endl;
cin.get();
//cin.get();
return 0;
}
输出的结果为 0 1 1 1
在Java中不允许 boolean 和 int 整形量直接的转换,如果强制转换,如果相互转换编译器会提示错误。
public class Test3 { public static final int a = 3; static int c = 0;
int b = 1; boolean isBool = true; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test3 t3 = new Test3();
System.out.println(t3.isBool);
// System.out.println((boolean)t3.c); // 提示错误
// System.out.println((int)t3.isBool); // 提示错误
} }
输出结果为 true
此外,如果一个函数被 final 修饰,那么此函数不能被子类修改,但是子类可以调用