函数声明中的逗号

时间:2014-05-14 14:15:28

标签: c++

Child::Child()
: Parent(NTPoint(250.f, 250.f))
, angle(0.f)
, lastAction(10.f)
{
}

我不理解其功能的是逗号后跟父位后面的变量名。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

这不是函数声明。这是一个构造函数声明,称为constructor initializer list。逗号只是将成员分开来初始化。

注意: 不应与initializer list混淆。

答案 1 :(得分:0)

这是初始化列表语法,用于分隔类的构造函数中的初始化项。

class A
{
   int x;
   int y;
   std::string z;

public:
   A::A() :          // Colon starts the initializer-list
          x(0),      // variable x is set to 0
          y(1),      // variable y is set to 1
          z("Hi!")   // string   z is set to "Hi!"
  {
  }
};

答案 2 :(得分:0)

它确实是一个构造函数初始化列表。它定义了默认构造函数,因为child中没有参数。此外,它初始化数据成员。作为示例,数据成员lastAction正在使用值10(float)进行初始化。