1. 程式人生 > 其它 >C++函式呼叫運算子過載+匿名物件

C++函式呼叫運算子過載+匿名物件

技術標籤: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)
用()來代替了物件的名字,這個匿名物件當前執行完後會立刻被釋放