设为首页 加入收藏

TOP

C++primer读书笔记8重载操作符(二)
2015-07-20 18:05:38 来源: 作者: 【 】 浏览:7
Tags:primer 读书 笔记 重载 操作
ction与point.operation->()->action等同
<3>否则,代码错误

总结:使用箭头‘->’操作符,必须返回一个指针类型或者自定义了‘->’的类对象。
解引用操作符和箭头操作符赋予了类对象看似指针的行为功能。


11 自增操作符,自减操作符
这些操作符又分为前自增(prefix),后自增(postfix),前自减(prefix),后自减(postfix)
<1>prefix
XXX& operator++();
XXX& operator--();
<2>postfix
为了区分前和后的区别,在后自增,后自减的函数中增加了一个int的参数,编译器提供0做位实参值
XXX operator++(int);
XXX operator--(int);
注意:后自增,后自减的返回值不是引用,因为返回的是一个临时的变量
<3> 显式的调用前缀后缀操作符
XXX.operator++(); //prefix
XXX.operator++(0); //postfix


12 调用操作符和函数对象

<1>
类重载函数调用操作符'()',这样通过控制通过在对象后面加括弧,加参数,可以把类对象当做函数一样使用,我们把定义了调用操作符的类,器对象成为函数对象。
#include 
                  
                   
using namespace std;
class Abs
{
public:
Abs(){}
~Abs(){}
int operator ()(int val){return val <0 ? -val : val;}
};
void main()
{
Abs XX;
cout<
                   
                    
<2>函数对象用于标准库算法
标准库中有很多函数,需要提供函数指针或者函数对象作为参数,例如count_if()函数
<3>标准卡中还有很多定义的函数对象
plus ,minus ,multiplies ,greater ...
很多函数对象都是存在 头文件中的函数对象
plus Add;
cout<
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++primer读书笔记9转换与类类型 下一篇hdu 1166线段树

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: