整数和函数都C++

Both Integer and function in C++

本文关键字:C++ 函数 整数      更新时间:2023-10-16
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( contructor 正在扩展m_foo功能。

Foo (int foo) : m_foo (foo) 

这是一个初始值设定项列表。它初始化m_foo,使值foo

您正在使用初始值设定项列表初始化整数变量。基本上,在您进入构造函数的主体之前,m_foo被断言为foo

它是一个初始器。 它通过调用m_foo项的复制构造函数来设置其值(而不是创建一个临时对象,然后在构造函数中设置它,例如m_foo = foo(。

但是,

我不确定有关C++的基本问题在这里是否有其位置:

Foo (int foo) : m_foo (foo) 

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