在C++中有一个特殊的运算符重载方法--类型转换运算符重载,形如:operator type();

:    
    CDemo(int x,int y){
        
this->_x = x;
        
this->_y = y;
    }
    
operator int(){    // 运算符重载
        return _x;
    }  
private:
    
int _x;
    
int _y;
};
 argv[])
{
    CDemo demo(10,30);
    cout
<<demo<<endl;
    
return 0;
}

运行结果:10

即_x的值,int()对demo进行了隐式类型转换。如果去除重载函数,则报error:二进制“<<”: 没有找到接受“CDemo”类型的右操作数的运算符(或没有可接受的转换).说明<<在遇到无法接受的类型时,会努力找到使之运行

的转换,直到失败。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2021-10-21
  • 2021-07-12
  • 2022-12-23
  • 2021-12-20
猜你喜欢
  • 2022-12-23
  • 2022-01-29
  • 2021-09-21
  • 2021-09-15
  • 2022-12-23
  • 2021-07-07
  • 2021-08-26
相关资源
相似解决方案