带有operator()的类

C++中operator关键字的用法(重载运算符)(括号运算符operator())-CSDN博客

本文与上面的文章内容一致,建议大家看上面的文章!

在C++中,括号运算符operator()是一种重载运算符,它可以使得一个类的对象像函数一样被调用。

当我们在一个对象后面使用一对圆括号时,编译器会自动调用该对象的括号运算符operator(),并将括号内的参数传递给它。该运算符的返回值可以是任意类型,包括指针,引用,值或类类型等。

cpp 复制代码
class MyFunctor {
public:
    int operator()(int x, int y) {
        return x + y;
    }
};

上面的类重载了括号运算符operator(),使得它可以接收两个int类型的参数,并返回它们的和。

cpp 复制代码
#include<iostream>
using namespace std;

int main()
{
    MyFunctor myFunc;
    int res = myFunc(3,4);
}

我们可以创建一个MyFunctor类型的对象,并将其当做函数一样进行调用。

相关推荐
草原上唱山歌23 分钟前
推荐学习的C++书籍
开发语言·c++·学习
2501_941875281 小时前
在东京复杂分布式系统中构建统一可观测性平台的工程设计实践与演进经验总结
c++·算法·github
Jacen.L1 小时前
SIGABRT (6) 中止信号详解
c++
王老师青少年编程2 小时前
信奥赛C++提高组csp-s之并查集(案例实践)2
数据结构·c++·并查集·csp·信奥赛·csp-s·提高组
满天星83035772 小时前
【C++】特殊类设计
c++·windows
Ljubim.te2 小时前
inline介绍,宏定义的注意事项以及nullptr
c语言·开发语言·c++
苦藤新鸡3 小时前
6.三数之和
c语言·c++·算法·力扣
Frank_refuel3 小时前
C++之内存管理
java·数据结构·c++
leiming63 小时前
c++ qt开发第一天 hello world
开发语言·c++·qt
@小码农3 小时前
6547网:202512 GESP认证 C++编程 一级真题题库(附答案)
java·c++·算法