#include <iostream>
#include <functional>
using namespace std; // consider removing this line in serious projects

class T {
public:
    double execute(function<double()> expression) {
        return expression();
    }
};

int main() {
	T t;
    int a = 0, b = 1;
    function<double()> func = [&]() -> double {return 3 * a + 5 * b;};
	double result = t.execute([&]() -> double {return 3 * a + 5 * b;});
	cout << result << endl;

	return 0;
}