4

メンバー初期化リストでデフォルト引数を使用することは可能ですか?

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

引数を設定して呼び出しても、コンストラクタは常に x、y、z を 0 に設定します。

4

2 に答える 2

7
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) を渡してメンバーを初期化しています。

于 2013-06-05T00:29:12.850 に答える
1

代入演算子=は、左側の変数に割り当てたものを常に返します。あなたの場合は、に0割り当てられる を返します。xyz

于 2013-06-05T00:50:04.230 に答える