9

C++を学んでいます。今、私はこれが何をするのか完全に理解していません

Some_Class::Some_Class {
    etc...
}

私は自分でいくつかの調査を行いますが、どこから始めればよいのか、それが何と呼ばれているのかわかりません。助けていただければ幸いです。

4

3 に答える 3

13

あなたが投稿した「コード」は無効で曖昧であるため、それが何であるかを言う方法はありません。

  • クラス外の方法で作成されたネストされたクラス定義である可能性があります。ネストされたクラスを定義すると、次のように内部クラスをすぐに定義できます。

    class Some_Class {   // <- definition of the outer class
      ...
      class SomeClass {  // <- definition of the inner class
        ...
      };
      ...
    };
    

    または、必要に応じて、ネストされたクラスのみを内部で宣言し、実際の定義を外部に移動できます

    class Some_Class {   // <- definition of the outer class
      ...
      class SomeClass;   // <- declaration of the inner class
      ...
    }; 
    
    class Some_Class::SomeClass { // <- definition of the inner class
      ...
    };
    

    class/structただし、そのためには、投稿したものには含まれていない で始まる必要があります。

  • SomeClassまたは、 classのメンバー関数の定義である可能性がありますSome_Class

    class Some_Class {
      ...
      void SomeClass(int i);          // <- declaration of member function
      ...
    };
    
    void Some_Class::SomeClass(int i) // <- definition of member function
    {
      ...
    }
    

    ただし、そのためには、戻り値の型とパラメーター リストを含める必要があります。

  • {}または、 -enclosed 初期化子を使用した静的メンバーの定義である可能性があります

    class Some_Class {
      ...
      static int SomeClass;
      ...
    };
    
    int Some_Class::SomeClass { 42 };
    

    ただし、そのためには静的メンバーの型を含める必要があります。

言い換えれば、あなたが何を投稿したのか、あなたの質問が本当に何についてのものなのかを言う方法はありません.

于 2013-06-28T21:59:21.560 に答える
2

スコープ解決演算子に混乱しています(リンクの@Huytardに感謝します)

:: はスコープ解決演算子です-つまり、あなたの例を考えると、そのSomeClassメソッドは にSome_Classあります-Some_Class::SomeClass

于 2013-06-28T20:39:40.740 に答える