#include <iostream>
#include <memory>
#include <functional>

using namespace std;

class A {
public:
	std::function<int()> operator[] (int i) {
		return [i](){
			return i;
		};
	}
};

int main() {
	A a;
	cout << a[5]() << endl; // <- 5
	cout << a[6]() << endl; // <- 6
	
	return 0;
}
