私の大学のコースブックには、次のように記載されています。
クラスのコンストラクターが宣言されると、クラス オブジェクトの初期化が必須になります。
本の特定のページへのリンク。
何もしないコンストラクターを宣言できるため、初期化は必須ではありませんか?
そうでない場合、著者は、コンストラクターを明示的に宣言する場合 、スタイル的にクラスメンバーを初期化する必要があることを意味していますか?つまり、ルールまたはガイドラインとして意図されているのですか?
私の大学のコースブックには、次のように記載されています。
クラスのコンストラクターが宣言されると、クラス オブジェクトの初期化が必須になります。
本の特定のページへのリンク。
何もしないコンストラクターを宣言できるため、初期化は必須ではありませんか?
そうでない場合、著者は、コンストラクターを明示的に宣言する場合 、スタイル的にクラスメンバーを初期化する必要があることを意味していますか?つまり、ルールまたはガイドラインとして意図されているのですか?
次の場合、コンストラクターでメンバーを初期化する必要があります。
次の場合に奇妙な動作を望まない場合は、メンバーを初期化する必要があります。
クラスに対してコンストラクターが宣言されると、クラスオブジェクトの初期化が必須になります。
それは本当ですが、初期化は明示的である必要はありません。objects
の代わりに用語に注意してくださいmember
。
クラスタイプのメンバーは、明示的に行わない場合、デフォルトで初期化されます。
class A {};
class B
{
A a;
int x;
B()
{
//a is initialized here, although you didn't do it explicitly
//x is not initialized, nor is it mandatory to initialize it
//but x is not an object
}
};
もちろん、「必須」という言葉は強い言葉です。初期化は必須でx
はありませんが、初期化するまでは何もできません。:)