博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++程序设计方法2:函数运算符重载
阅读量:4885 次
发布时间:2019-06-11

本文共 1064 字,大约阅读时间需要 3 分钟。

函数运算符()重载

函数运算符()也能重载,它使得对象看上去像是一个函数名

ReturnType operator() (Parameters)

{

......

}

ClassName Obj;

Obj(real_parameters);

//->obj.operator() (real_parameters);

#include 
using namespace std;class Test{public: int operator() (int a, int b) { cout << "operator() called." << a << " " << b << endl; return a + b; }};int main(){ Test sum; int s = sum(3, 4);//sum对象看上去像是一个函数,故也成为“函数对象” cout << "a + b = " << s << endl; return 0;}

 

#include 
using namespace std;class Less{ int thres_;public: Less(int th) :thres_(th) {} bool operator() (int);};bool Less::operator() (int value){ return (value < thres_);}void Filter(int *array, int num, Less fn){ for (int i = 0; i < num; i++) { if (fn(array[i])) cout << array[i] << " "; } cout << endl;}int main(){ int array[5] = { 1,-4,10,0,-1 }; int thres; cout << "thres:"; cin >> thres; Less less_than(thres); Filter(array, 5, less_than); return 0;}

 

转载于:https://www.cnblogs.com/hujianglang/p/6629053.html

你可能感兴趣的文章
POJ 3384 Feng Shui (半平面交)
查看>>
设置系统导航栏
查看>>
Android 中keyEvent的消息处理(转) -- view部分
查看>>
前端基础-html 字体标签,排版标签,超链接,图片标签
查看>>
arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
查看>>
six day--面向对象
查看>>
python队列、线程、进程、协程(转)
查看>>
java 计算 1到10 的 阶层的和(采用递归的方法)
查看>>
在react项目当中使用redux
查看>>
游戏开发之UE4添加角色到场景中
查看>>
gulp创建完整的项目流程
查看>>
APICloud开发小技巧(一)
查看>>
UVa548
查看>>
如何在SpringBoot中集成JWT(JSON Web Token)鉴权
查看>>
python的pydoc与help
查看>>
js动画实现透明度动画
查看>>
css3实现圆形逐渐减少动画
查看>>
D24_02_页面驻留(page Frame)
查看>>
基于Boost无锁队列实现的内存池
查看>>
HDU-4861-Couple doubi(数学题,难懂!难懂!)
查看>>