C++全局操作符重载是什么意思

来源:百度知道 编辑:UC知道 时间:2024/05/31 15:21:55
跟普通操作符重载有区别?

你所说的普通操作符重载,是指以类的成员函数的形式对操作符进行重载。此时并不改变全局的这个操作符的实现方式。
比如,重载前自加++,实现其为将变量自增10:
class Test
{
public:
Test(iInit){iTest=iInit;};
Test operator ++(){iTest=iTest+10;return *this};
int iTest;
};
int main()
{
Test cTest(123);
std::cout<<(++cTest).iTest;//这句++是作为Test的成员函数调用的,实际这句话等价于cTest::operator++,
std::cout<<++123;//这句的++是全局的运算符,相当于::operator++
return 0;
}

这样讲就可以看出区别了吧~~

全局操作符和全局函数类似,全局操作符与普通操作符的区别和全局函数与类的成员函数的区别一样