BohYoh.comトップページへ
C & C++ FAQ
目次

C++ デフォルトコンストラクタとは何ですか。

 デフォルトコンストラクタ(default constructor)は、〝実引数を与えずに呼び出すことのできるコンストラクタ〟です(JIS C++では『省略時コンストラクタ』と呼ばれています)。
 以下の例を考えましょう。

class Test { int a; public: Test(int n = 10) : a(n) { } };

 クラスTestには、1個の仮引数を受け取るコンストラクタTest::Test(int)が定義されています。このコンストラクタは、呼出し時に実引数を省略できますので、デフォルトコンストラクタとしても働くことになります。すなわち、以下のようになります。

int main() { Test x; // Test::Test(int)を実引数を与えずに呼び出す Test y(5); // Test::Test(int)を実引数を与えて呼び出す }

 なお、以下の点に注意してください。

■ 根拠 ■
標準C++ §12.1 Constructors
標準C++ 2nd §12.1 Constructors
標準C++ 3rd §12.1 Constructors

戻る

BohYoh.comロゴ