私のコード:
#include <iostream>
using namespace std;
class Foo
{
public:
int bar;
Foo()
{
bar = 1;
cout << "Foo() called" << endl;
}
Foo(int b)
{
bar = 0;
Foo();
bar += b;
cout << "Foo(int) called" << endl;
}
};
int main()
{
Foo foo(5);
cout << "foo.bar is " << foo.bar << endl;
}
出力:
Foo() called
Foo(int) called
foo.bar is 5
foo.bar
値が6ではないのはなぜですか?Foo()
が呼び出されますが、1に設定されていませんbar
。なぜですか。