个构造函数接收一个不同于其类类型的形参,可以视为将其形参转换成类的一个对象。像这样的构造函数称为转换构造函数。

除了创建类对象之外,转换构造函数还为编译器提供了执行隐式类型转换的方法。只要在需要类的类型值的地方,给定构造函数的形参类型的值,就将由编译器执行这种类型的转换。

举一个简单的例子,先来看下面这个类:

class IntClass
{ 
   
    private:
        int value;
    public:
        //转换int的转换构造函数
        IntClass(int intValue)
        { 
   
            value &