1. /* 
  2. C++是很危险的:第一章 构造函数:第四节 构造函数的调用 
  3.  
  4. 《C++是很危险的》中的代码全部来自网络及各种C++相关的书籍。 
  5. 目的不是为了谴责C++,而是希望大家注意C++中的某些细节。 
  6. 这些细节在实际工程中根本用不到,所以大家就当笑话看看就好。 
  7.  
  8. 以下代码输出什么? 
  9.  
  10. 操作系统:ubuntu linux 10.10 
  11. 编译器:g++ 4.4.5 
  12.  
  13. 1、没有编译错误,能够正常运行。 
  14. 2、答案是只输出一个3。 
  15. */ 
  16.  
  17. #include <iostream> 
  18. using namespace std; 
  19.  
  20. class Foo{ 
  21. public
  22.     Foo() 
  23.     { 
  24.         cout << 1 << endl; 
  25.     } 
  26.     Foo(int a=4){ 
  27.         cout<<a<<endl; 
  28.     } 
  29. }; 
  30.  
  31. int main(){ 
  32.     Foo a(3); 
  33.     Foo b(); 
  34.     return 0;