写C++可以让一个类A可以转换成类B。
使用方法有两种,一种是利用构造函数,二是用类型转换操作符operator实现一个转换函数
class A
{
public:
//转换函数:可以让A转换为int
operator int()
{
return val_;
}
private:
int val_;
}
class B
{
public:
B(const A& a): val_(a){}; //可以让A转换为B
private:
int val_;
}
类型转换操作符的要求:
1、转换函数本身必须是成员函数
2、不能指定返回类型,返回的值必须与要转换的类型匹配
3、形参表必须为空
支持虚函数、继承
实现类型转换后,就可以像使用内置转换一样使用类