コンストラクターの初期化リストで新しいオブジェクトを初期化して参照することは可能ですか?

ドーク

クライアントはDLLのトップクラスであるため、初期化時に新しいSessionオブジェクトを作成して渡す必要があり、リクエスターを作成しセッションを同じセッションに割り当てる必要があります。出来ますか?

class Session
{
public:Session() {}

};

class Requestor
{
public: Requestor(const Session& session) {};
};

class Client
{
public:Client()
{
    Session newSession;
    requestor = Requestor(newSession);
}

private:
    Session session;
    Requestor requestor;
};
フアンチョパンザ

可能ですが、初期化の順序がメンバーの宣言の順序に依存するという点で、やや脆弱です。これらがあなたの例のように残っているならば、あなたは簡単に行うことができます

class Client()
{
public:
    Client() : requestor(session) // session is implicitly default constructed
    {}
private:
    Session session;
    Requestor requestor;
};

注:Sessionコンストラクターでローカルオブジェクトをインスタンス化する理由は明確ではありませんそれは間違いだと思います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンストラクタなしで別のオブジェクト初期化内でオブジェクトを初期化することは可能ですか?

分類Dev

memmoveを使用してC ++のコンストラクターでオブジェクト全体を初期化する

分類Dev

NSIndexPathは、UITableViewインスタンスで使用されるオブジェクトを初期化することのみを目的としていますか?

分類Dev

コンストラクター内でオブジェクトを値として受け取るマップを初期化しようとしています

分類Dev

Kotlin-クラスのinitブロックの前にコンパニオンオブジェクトを初期化することは可能ですか?

分類Dev

Javaでコンストラクタとクラスをマスターできません(オブジェクトを初期化しています)

分類Dev

cppでコピーコンストラクタなしでオブジェクトを(再)初期化する

分類Dev

ブレース付き初期化リストで初期化されたオブジェクトを返すときに、コンストラクターとデストラクタの呼び出しのペアが1つ保証されますか?

分類Dev

初期化リストを使用してフィールドを初期化し、コンストラクター内で初期化することの違いは何ですか?

分類Dev

コンストラクタ初期化リストで新しい配置を使用する構文は何ですか

分類Dev

c ++メンバーの初期化で、コンストラクターに新しいオブジェクトを渡します

分類Dev

初期化子リストの代わりに、コンストラクター本体でメンバー変数を初期化することは可能ですか?

分類Dev

コンストラクターが非const参照をパラメーターとして食べるプライベートオブジェクトメンバーでオブジェクトを初期化する方法

分類Dev

「Range」オブジェクトの配列を取得してリストを初期化するコンストラクターをどのように作成しますか。リストはArrayListに初期化されます。

分類Dev

Typescriptでオブジェクトまたは通常のパラメータコンストラクタを使用して初期化できるクラスを作成するにはどうすればよいですか?

分類Dev

コンストラクターの外部でconstオブジェクトを初期化します

分類Dev

未定義の参照:異なるクラスのオブジェクトのポインター配列を初期化しようとしています

分類Dev

別のクラスのコンストラクターを使用してオブジェクトを初期化できますか?

分類Dev

(コピーコンストラクター)別のオブジェクトを初期化するためのパラメーターとして渡されたオブジェクトは、どのようにしてプライベートメンバーにアクセスできますか?

分類Dev

コンストラクタなしでオブジェクトが正しく初期化されていることを確認するにはどうすればよいですか?

分類Dev

クラスに別のクラスのオブジェクトが含まれていて、すべてのクラスがコンストラクターによって初期化される場合、初期化はどのように機能しますか?

分類Dev

自明でないコンストラクターを使用してオブジェクトのstd :: arrayを初期化します

分類Dev

Javaでオブジェクトのプライベートインスタンス変数の1つとしてBufferedImageを含むオブジェクトのArrayListをシリアル化することは可能ですか?

分類Dev

C ++コンストラクターはどのようにしてそのクラスのオブジェクトを初期化しますか?

分類Dev

初期化子リストを使用して、コピー構築中にベクトルの値の配列を初期化することは可能ですか?

分類Dev

引数を使用して別のクラスコンストラクターでオブジェクトを初期化します

分類Dev

コンストラクタ初期化リストでstd :: vectorの配列を初期化しています

分類Dev

クラスタイプのオブジェクトを初期化しないようにし、ポインターを使用せずにこれが当てはまる場合を識別するにはどうすればよいですか?

分類Dev

初期化中にクラスへのコンストラクター呼び出しでInputStreamオブジェクトのFileInputStreamオブジェクトに対応するにはどうすればよいですか?

Related 関連記事

  1. 1

    コンストラクタなしで別のオブジェクト初期化内でオブジェクトを初期化することは可能ですか?

  2. 2

    memmoveを使用してC ++のコンストラクターでオブジェクト全体を初期化する

  3. 3

    NSIndexPathは、UITableViewインスタンスで使用されるオブジェクトを初期化することのみを目的としていますか?

  4. 4

    コンストラクター内でオブジェクトを値として受け取るマップを初期化しようとしています

  5. 5

    Kotlin-クラスのinitブロックの前にコンパニオンオブジェクトを初期化することは可能ですか?

  6. 6

    Javaでコンストラクタとクラスをマスターできません(オブジェクトを初期化しています)

  7. 7

    cppでコピーコンストラクタなしでオブジェクトを(再)初期化する

  8. 8

    ブレース付き初期化リストで初期化されたオブジェクトを返すときに、コンストラクターとデストラクタの呼び出しのペアが1つ保証されますか?

  9. 9

    初期化リストを使用してフィールドを初期化し、コンストラクター内で初期化することの違いは何ですか?

  10. 10

    コンストラクタ初期化リストで新しい配置を使用する構文は何ですか

  11. 11

    c ++メンバーの初期化で、コンストラクターに新しいオブジェクトを渡します

  12. 12

    初期化子リストの代わりに、コンストラクター本体でメンバー変数を初期化することは可能ですか?

  13. 13

    コンストラクターが非const参照をパラメーターとして食べるプライベートオブジェクトメンバーでオブジェクトを初期化する方法

  14. 14

    「Range」オブジェクトの配列を取得してリストを初期化するコンストラクターをどのように作成しますか。リストはArrayListに初期化されます。

  15. 15

    Typescriptでオブジェクトまたは通常のパラメータコンストラクタを使用して初期化できるクラスを作成するにはどうすればよいですか?

  16. 16

    コンストラクターの外部でconstオブジェクトを初期化します

  17. 17

    未定義の参照:異なるクラスのオブジェクトのポインター配列を初期化しようとしています

  18. 18

    別のクラスのコンストラクターを使用してオブジェクトを初期化できますか?

  19. 19

    (コピーコンストラクター)別のオブジェクトを初期化するためのパラメーターとして渡されたオブジェクトは、どのようにしてプライベートメンバーにアクセスできますか?

  20. 20

    コンストラクタなしでオブジェクトが正しく初期化されていることを確認するにはどうすればよいですか?

  21. 21

    クラスに別のクラスのオブジェクトが含まれていて、すべてのクラスがコンストラクターによって初期化される場合、初期化はどのように機能しますか?

  22. 22

    自明でないコンストラクターを使用してオブジェクトのstd :: arrayを初期化します

  23. 23

    Javaでオブジェクトのプライベートインスタンス変数の1つとしてBufferedImageを含むオブジェクトのArrayListをシリアル化することは可能ですか?

  24. 24

    C ++コンストラクターはどのようにしてそのクラスのオブジェクトを初期化しますか?

  25. 25

    初期化子リストを使用して、コピー構築中にベクトルの値の配列を初期化することは可能ですか?

  26. 26

    引数を使用して別のクラスコンストラクターでオブジェクトを初期化します

  27. 27

    コンストラクタ初期化リストでstd :: vectorの配列を初期化しています

  28. 28

    クラスタイプのオブジェクトを初期化しないようにし、ポインターを使用せずにこれが当てはまる場合を識別するにはどうすればよいですか?

  29. 29

    初期化中にクラスへのコンストラクター呼び出しでInputStreamオブジェクトのFileInputStreamオブジェクトに対応するにはどうすればよいですか?

ホットタグ

アーカイブ