C++ property generator