>>859
多少違うがこんな感じか?
template <typename T>
class value_with_accessor
{
    T value;
public:
    T operator()() const {return value;}
    void operator()(const T &t){value = t;}
};

class Test
{
public:
    value_with_accessor<int> m;
};

Test t;
t.m(4);
std::cout << t.m();