ホームページ > バックエンド開発 > C++ > メンバー初期化リストは C コンストラクターでどのように機能しますか?

メンバー初期化リストは C コンストラクターでどのように機能しますか?

Susan Sarandon
リリース: 2024-12-16 06:35:14
オリジナル
569 人が閲覧しました

How Do Member Initialization Lists Work in C   Constructors?

コンストラクターのメンバー初期化リスト

C では、コンストラクターの後のコロンとそれに続く式は、メンバー初期化リストの一部です。これは 2 つの主な目的を果たします:

1.基本クラスのコンストラクターの呼び出し

派生クラスでは、メンバー初期化リストを使用して、基本クラスのコンストラクターを呼び出すための引数を指定できます。たとえば、次のコードでは:

class demo
{
public:
    demo(unsigned char le = 5, unsigned char default) : len(le)
    {
        // Body of the constructor
    }
};

class newdemo : public demo
{
public:
    newdemo() : demo(0, 0)
    {
        // Body of derived class constructor
    }
};
ログイン後にコピー

newdemo コンストラクターの :demo(0, 0) 構文は、引数 0 および 0 を使用してデモ基本クラスのコンストラクターを呼び出します。

2.データ メンバーの初期化

コンストラクター本体を実行する前に、メンバー初期化リストを使用してクラスのデータ メンバーを初期化できます。これは、コンストラクター本体で割り当てられない const メンバーの場合に特に便利です。例:

class Demo
{
public:
    Demo(int& val) : m_val(val)
    {
        // Body of constructor
    }

private:
    const int& m_val;
};
ログイン後にコピー

この例では、 m_val(val) 構文は、コンストラクター引数 val の値を使用して m_val const 参照データ メンバーを初期化します。

以上がメンバー初期化リストは C コンストラクターでどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート