// 研究了半宿,终于弄清楚了
// 写了这段测试代码可以很好的演示效果
class CConvert
{
public:
CConvert(){m_nValue = 10;}
// 重载()运算符
int operator ()();
// 重载int强制类型转换
operator int();
protected:
private:
int m_nValue;
};
int CConvert::operator ()()
{
return m_nValue;
}
CConvert::operator int()
{
return m_nValue;
}
void SetValue(int nValue)
{
int nTest = nValue;
}
int main()
{
CConvert convert;
SetValue(convert); // 调用强制类型转换重载符
SetValue(convert()); // 调用重载之后的括号运算符
return 0;
}
重载()运算符和重载强制类型转换
最新推荐文章于 2024-01-30 09:07:57 发布