C++函数调用运算符重载、函数对象

本文详细介绍了C++中如何重载函数调用运算符(),将其转换为仿函数或运算符函数对象,使得类的对象能够接受并处理任意数量的参数。通过实例展示了myPrint和MyAdd类的实现,展示了这种重载在实际编程中的应用。
摘要由CSDN通过智能技术生成

函数调用运算符重载
函数调用运算符()也可以重载
由于重载后使用的方式非常像函数的调用,因此称为防函数
仿函数没有固定写法,非常灵活
函数调用运算符 () 可以被重载用于类的对象。当重载 () 时,您不是创造了一种新的调用函数的方式,相反地,这是创建一个可以传递任意数目参数的运算符函数。
​如果类定义了调用运算符,则该类的对象称作函数对象
这篇文章比较详细C++重载运算:函数调用运算符

#include <iostream>
#include <string">
using namespace std;

//函数调用运算符重载

//打印输出类
class myPrint
{
public:
    //重载函数调用运算符
    void operator()(string test)
    {
        cout<<test<<endl;
    }
};
class MyAdd
{
public:
    int operator()(int v1,int v2){
        return v1+v2;
    }
};
void test01(){
    myPrint mypint;
    mypint("hello world");//由于使用起来非常像函数调用,因此称为仿函数
}
int main() {
    test01();
    cout<<MyAdd()(100,100)<<endl;
    system("pause");
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值