首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-10-21 
一个C++奇怪的问题struct absInt {int operator() (int val) {return val 0 ? -val : val}};int i -4

一个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)
[解决办法]
重载了操作符,并且建议搜索:函数对象
[解决办法]
楼主没有理解操作符重载

热点排行