在C++中,如果编译器看到一个表达式或函数调用使用了一个不合适的类型,它会执行一个自动类型转换,将不合适的类型转换为合适的类型。对于自定义类,可以通过定义该类的构造函数的方法将其它类型转换为本自定义类;或者使用运算符将本自定义类转换为其它类型。
1 定义构造函数将其它类型转换为本类型
对于一个自定义类,可以为该类定义一个有一个参数的构造函数。则编译器可以将这个函数对应的类型转换为该自定义类类型。
1.1自动转换例子
首先,定义一个名为MyClass的类,该类包含一个有一个参数的构造函数。
class MyClass
{
public:
int i;
public:
MyClass(int ii)
{
i = ii;
}
};
接下来定义一个名为MyFunc() 的函数,该函数的参数是自定义 My