带有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类型的对象,并将其当做函数一样进行调用。

相关推荐
nurupo1232 分钟前
C++学习路线(二十五)
c++·学习·算法
yava_free33 分钟前
OpenMV的无人驾驶智能小车模拟系统
c语言·c++·stm32
铭正38 分钟前
C++多线程应用
c++·多线程
学习编程之路1 小时前
深入理解C++ Lambda表达式:语法、用法与原理及其包装器的使用
开发语言·c++
qing_0406032 小时前
C++——string的模拟实现(上)
开发语言·c++·string
我不会JAVA!3 小时前
排序算法(3) C++
c++·算法·排序算法
Ddddddd_1587 小时前
C++ | Leetcode C++题解之第504题七进制数
c++·leetcode·题解
J_z_Yang7 小时前
LeetCode 202 - 快乐数
c++·算法·leetcode
Y.O.U..10 小时前
STL学习-容器适配器
开发语言·c++·学习·stl·1024程序员节
lihao lihao10 小时前
C++stack和queue的模拟实现
开发语言·c++