可能重複的一個實例:
Default constructor with empty brackets
Instantiate class with or without parentheses?С++創建類
計劃:
class Foo
{
public:
Foo (int bar = 1)
{
cout << "bar=" << bar;
}
};
int main() {
cout << "0 - ";
Foo foo_0 (0) ;
cout << '\n';
cout << "1 - ";
Foo foo_1();
cout << '\n';
cout << "2 - ";
Foo foo_4;
cout << '\n';
return 0;
}
輸出:
0 - bar=0
1 -
2 - bar=1
問題:爲什麼示例#1不起作用,而示例#0和#2卻起作用?
1? 2? 1和2?我很困惑。 –