C++函式呼叫運算子過載+匿名物件
阿新 • • 發佈:2021-02-05
技術標籤:C++面向物件
函式呼叫運算子()也可以過載
由於過載後使用的方式非常像函式的呼叫,因此稱為仿函式
仿函式沒有固定的寫法
#include<iostream>
#include<string>
using namespace std;
class Myprint {
public:
//過載函式呼叫運算子
void operator()(string text) {
cout << text << endl;
}
int operator()(int a,int b){
return a + b;
}
};
void test01() {
Myprint m1;
m1("helloworld");
cout<<m1(100, 100)<<endl;
}
int main() {
test01();
return 0;
}
拓展匿名物件
匿名物件就是Myprint()(100,100)
用()來代替了物件的名字,這個匿名物件當前執行完後會立刻被釋放