在c++中允许 bool 量和 int 整形常量相互转换,并且用cout<<true; 在控制台上可以输出为 1
int main(int argc, _TCHAR* argv[]) { int num = 0; int total = 2; bool isBool = true; cout<<"Hello World"<<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 修饰,那么此函数不能被子类修改,但是子类可以调用