complex には 2 つのコンストラクタがあります。それぞれの定義を次に示します。
| complex::complex() {re=0.0; im=0.0;} complex::complex(double r, double i = 0.0) {re=r; im=i;} | 
複素数の変数を引数なしで宣言すると、最初のコンストラクタが使用され、実部も虚部もゼロで初期化されます。次の例では、実部も虚部もゼロの複素数の変数が生成されます。
| complex aComp; | 
1 つまたは 2 つのパラメータを指定できます。いずれの場合にも、2 番目のコンストラクタが使用されます。引数を 1 つだけ指定した場合は、その値は実部の値とみなされ虚部はゼロに設定されます。次に例を示します。
| complex aComp(4.533); | 
複素数の値は次のようになります。
| 4.533 + 0i | 
引数を 2 つ指定した場合は、最初の値が実部、2 番目の値が虚部となります。次に例を示します。
| complex aComp(8.999, 2.333); | 
複素数の値は次のようになります。
| 8.999 + 2.333i | 
また、複素数ライブラリが提供する polar 関数を使用して複素数を生成することもできます。「14.3 数学関数」を参照してください。polar 関数は、指定した 1 組の極座標値 (絶対値と偏角) を使用して複素数を作成します。
complex 型にはデストラクタはありません。