| default-constructor1.C |
class Complex {
private:
double re, im;
public:
Complex(double r, double i): re(r), im(i) { }
};
int main()
{
Complex a(1.0, 2.0);
Complex I(0, 1);
}
|
| default-constructor2-error.C -- コンパイルできない! |
class Complex {
private:
double re, im;
public:
Complex(double r, double i): re(r), im(i) { }
};
int main()
{
Complex a;
}
|
Complex a; とすると引数のないコンストラクターを呼び出すことになる。 それが定義できていないのでエラーになるわけである。 例えば次のように修正しなければならない。
| default-constructor2.C |
class Complex {
private:
double re, im;
public:
Complex(double r, double i): re(r), im(i) { }
Complex(): re(0.0), im(0.0) { }
};
int main()
{
Complex a;
}
|