このプログラムを考えると:
#include <iostream>
class C
{
public:
C(void): a(1)
{ a=2; }
int a{3};
};
int main(void)
{
C c{};
std::cout << c.a; // 2
}
データ メンバーの初期化の 3 つの形式を見ることができます。
- メンバー初期化子リストの使用
- コンストラクターの使用
- クラス本体での宣言の使用
いつどれを使う?
このプログラムを考えると:
#include <iostream>
class C
{
public:
C(void): a(1)
{ a=2; }
int a{3};
};
int main(void)
{
C c{};
std::cout << c.a; // 2
}
データ メンバーの初期化の 3 つの形式を見ることができます。
いつどれを使う?