本篇我们主要讲解函数符号的重载。
函数符号(),那么他的重载有什么用呢。
目前我们先了解到,函数符号可以用来做仿函数就可以了。
下面我们举例说明一下:
/****************************************************
* brief : ()函数符重载
* author : shao
* date : 2020-03-13
* note : 要注意的是,仿函数和构造函数
* 在调用时候的区别。
*
****************************************************/
#include <iostream>
using namespace std;
class Add{
public:
int val1;
int val2;
Add(int v1, int v2)
{
this->val1 = v1;
this->val2 = v2;
}
Add(int a)
{
this->val1 = a;
}
/*
* 这里对函数调用符号进行重载,
* 方面后面对象可以直接调用()符号
* 可以用对象直接写仿函数的形式,
* 这里只是写了一个int个例,
* 用户可以根据不同的要求写出不同的类型
*/
int operator()(int a, int b)
{
return a + b;
}
};
void test01(void)
{
Add add(3, 4);
cout << add(1, 2) << endl;
}
int main(void)
{
test01();
return 0;
}
结果如下:
我们可以看出来,add只是一个对象。但是却可以像函数一样调用。
这就是()重载的结果。
来源:CSDN
作者:shao15232_1
链接:https://blog.csdn.net/shao15232/article/details/104836291