#include <iostream>
using namespace std;

    struct foo
    {
    	std::string &str;
    	foo(std::string &other) : str(other) {}
    
    	void operator()(std::string &some) const
    	{
    		str += some;
    	}
    };
    
    int main()
    {
    	std::string ext("Hello");
    	foo a{ ext };
    
        std::string more(" world!");
    	a(more);
    
        cout << a.str;
    	return 0;
    }