类和对象-C++运算符重载-函数调用运算符重载

函数调用运算符重载

#include<bits/stdc++.h>
using namespace std;

//函数调用运算符重载

//打印输出类
class MyPrint
{
public:
	//重载函数调用运算符
	void operator()(string test)
	{
		cout<<test<<endl;	
	} 
};

void test01()
{
	MyPrint myPrint;
	myPrint("hello world");//由于使用起来非常类似于函数调用,因此称为仿函数 
}

//仿函数非常灵活,没有固定的写法

//加法类
class MyAdd
{
public:
	int operator()(int num1,int num2)
	{
		return num1+num2;
	}
};
void test02()
{
	MyAdd myadd;
	int ret=myadd(10,20);
	cout<<ret<<endl;
	
	//匿名函数对象
	cout<<MyAdd()(10,20) <<endl;
}
int main(){
	test01();
	test02();
	return 0;
}

匿名函数对象的使用的好处

  1. 临时性: 匿名函数对象可以在使用完毕后立即销毁,不会占用额外的命名空间,从而使代码更为简洁和清晰。

  2. 简洁性: 当一个函数对象只需要使用一次,没有必要为其命名,使用匿名函数对象可以避免定义额外的类或对象,减少代码量和复杂度。

  3. 便捷性: 匿名函数对象的创建和使用可以在一行代码中完成,非常适合于简单的函数对象调用,不需要额外的命名和定义步骤。

总结来说,匿名函数对象在实现简单的函数对象功能时非常方便,能够提高代码的可读性和简洁性,同时避免定义不必要的命名和额外的类对象。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值