C ++中的整数和函数

时间:2013-08-26 15:40:14

标签: c++

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是私有部分中定义的整数,但是什么是m_foo(foo)?看起来像一个功能。

m_foo既是整数又是函数?这有什么作用?

和Foo(int foo)构造函数正在扩展m_foo函数。

4 个答案:

答案 0 :(得分:5)

Foo (int foo) : m_foo (foo) 

这是initializer list。它会将m_foo初始化为值foo

答案 1 :(得分:2)

您正在使用初始化列表初始化整数变量。在您输入构造函数m_foo的主体之前,基本上是foo。{/ p>

答案 2 :(得分:1)

这是一个初学者。它通过调用它的copy-constructor来设置m_foo项的值(而不是创建一个临时对象,然后调用copy-constructor,如果你要在m_foo = foo之类的构造函数中设置它)。 / p>

答案 3 :(得分:-1)

我不确定关于C ++的基本问题是否适用于此,但是:

Foo (int foo) : m_foo (foo) 

表示:定义构造函数,并使用m_foo形式参数初始化成员变量foo