C++重载强制类型转换操作符
struct Node
{
int data;
Node* next;
public:
Node(int data):data(data),next(NULL){}
operator int(){return data}//这里不能加返回类型
}
int main()
{
Node a(10);
cout << a << endl;
//这里a会首先会去ostream里看有没有重载这个类型的<<输出操作,没有就会去成员方法里找,
//但是如果重载了多个强制类型转换,就会有歧义,那就必须写成cout << (type)a << endl;
}