SampleClass.h #pragma once class SampleClass { public: SampleClass(); private: int num{ 3 }; };
SampleClass.cpp #include "SampleClass.h" SampleClass::SampleClass() : num{2} { num = 1; }
main.cpp #include <iostream> #include "SampleClass.h" using namespace std; int main() { SampleClass a; // ここでブレークポイントはって、numの中身を確認する std::cout << "テストプログラムを終了します。" << endl; return 0; }
これの実行結果は、numが1となる。
具体的な初期化順は、ヘッダ側の宣言時の初期化子、コンストラクタの初期化子、コンストラクタの順になる。