函数声明中的逗号

Commas in function declarations

本文关键字:声明 函数      更新时间:2023-10-16
Child::Child()
: Parent(NTPoint(250.f, 250.f))
, angle(0.f)
, lastAction(10.f)
{
}

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

这不是函数声明。这是一个构造函数声明,叫做构造函数初始化列表。逗号分隔初始化的成员。

注意: 不应与初始化列表混淆

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

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!"
  {
  }
};

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