0
class Foo
{
public:
  // single parameter constructor, can be used as an implicit conversion
  Foo (int foo) : m_foo (foo) 
  {
  }

  int GetFoo () { return m_foo; }

private:
  int m_foo;
};

m_foo は private セクションで定義されているように整数ですが、m_foo(foo) とは何ですか? それは関数のように見えます。

m_foo は整数と関数の両方ですか? それはどのように機能しますか?

そして Foo(int foo) コンストラクターは m_foo 関数を拡張しています。

4

4 に答える 4

5
Foo (int foo) : m_foo (foo) 

これは初期化リストです。m_foo値を持つように初期化しますfoo

于 2013-08-26T15:42:00.633 に答える
2

初期化子リストを使用して整数変数を初期化しています。基本的に、コンストラクターの本体に入る前にm_fooが割り当てられfooます。

于 2013-08-26T15:43:01.600 に答える
-1

ただし、C++ に関する基本的な質問がここに当てはまるかどうかはわかりません。

Foo (int foo) : m_foo (foo) 

意味: コンストラクターを定義し、メンバー変数m_foofoo仮引数で初期化します。

于 2013-08-26T15:42:21.777 に答える