转换构造函数

当一个构造函数只有一个参数,而且该参数又不是本类的const引用时,这种构造函数称为转换构造函数。

例如:

class Complex
{
protected:
double real,vir; //复数的实部和虚部
public:
Complex(double x)
{ real=x,vir=0;}
};

如上文,构造函数只有一个参数 double x,它也不是本类的const引用。这个构造函数即 转换构造函数。

2应用


1、转换构造函数一般由系统自动调用。

例如:

Complex t=5.0;//或Complex t(5.0);或Complex t=Complex(5.0);或Complex t=(Complex)5.0;

这时,系统就自动调用了 Complex(double x)将 5.0转换成Complex类,再赋值给 t 。

你可能感兴趣的:(转换构造函数)