C++是很危险的:第一章 构造函数:第四节 构造函数的调用

《C++是很危险的》中的代码全部来自网络及各种C++相关的书籍。 目的不是为了谴责C++, 而是希望大家注意C++中的某些细节。 这些细节在实际工程中根本用不到,所以大家就当笑话看看就好。

#include <iostream>
using namespace std;

class Foo{
public:
    Foo()
    {
        cout << 1 << endl;
    }
    Foo(int a=4){
        cout<<a<<endl;
    }
};

int main(){
    Foo a(3);
    Foo b();
    return 0;
}

答案

只有一个3。

解释

C++中, Foo b()这样的语法是声明一个函数, 它的返回值类型是Foo, 参数列表是空。

目录啦啦啦