- /*
- C++是很危险的:第一章 构造函数:第三节 构造函数与初始化列表
- 《C++是很危险的》中的代码全部来自网络及各种C++相关的书籍。
- 目的不是为了谴责C++,而是希望大家注意C++中的某些细节。
- 这些细节在实际工程中根本用不到,所以大家就当笑话看看就好。
- 以下代码会输出几次“Hello world!”?
- 操作系统:ubuntu linux 10.10
- 编译器:g++ 4.4.5
- 1、没有编译错误,能够正常运行。
- 2、答案是“Hello world!”被输出了3次。
- */
- #include <iostream>
- using namespace std;
- class Object
- {
- public:
- Object(int a=0)
- {
- cout<<"Hello world!"<<endl;
- }
- };
- class CA
- {
- public:
- CA()
- :o(1)
- {
- }
- private:
- Object o;
- };
- class CB
- {
- public:
- CB()
- {
- o=1;
- }
- private:
- Object o;
- };
- int main()
- {
- CA ca;
- CB cb;
- return 0;
- }