具有默认参数的成员初始化列表

时间:2013-06-05 00:25:29

标签: c++ default-arguments member-initialization

是否可以使用带成员初始化列表的默认参数?

Vector3::Vector3(double xI, double yI, double zI)
: x(xI=0), y(yI=0), z(zI=0)
{
}

构造函数总是将x,y和z设置为0,即使您通过设置参数调用它也是如此。

2 个答案:

答案 0 :(得分:5)

Vector3(double xI=0, double yI=0, double zI=0);  

Vector3::Vector3(double xI, double yI, double zI)
    : x(xI), y(yI), z(zI)
    {
    }

另外,如果您想知道您的代码在做什么,它只是将您的参数设置为0,然后传递它们的值(现在为0)来初始化成员。

答案 1 :(得分:0)

赋值运算符=始终返回已分配给左侧变量的内容,在您返回0的情况下,它将分配给xy和{ {1}}。