读书人

一个C++奇怪的有关问题

发布时间: 2012-10-21 09:00:07 作者: rapoo

一个C++奇怪的问题
struct absInt {
int operator() (int val) {
return val < 0 ? -val : val;
}
};
int i = -42;
absInt absObj; // object that defines function call operator
unsigned int ui = absObj(i);
这个是一个结构体里面定义一个运算符重载
为什么unsigned int ui = absObj(i);

给一个对象赋值就调用了那个运算符?

[解决办法]
搜索下什么叫操作符重载
[解决办法]
你把unsigned int ui =去掉,再试。
另外,找本合格的教材吧,基本的()重载,stl的基石语法之一,必须掌握的。
[解决办法]
函数对象/操作符重载
[解决办法]
函数调用运算符(operator function call)
[解决办法]
重载了操作符,并且建议搜索:函数对象
[解决办法]
楼主没有理解操作符重载

读书人网 >C++

热点推荐