I just think about whether the property is necessary in a C++ class. the form::caption is not only an assignment operation, but also setting the caption of a window. Actually, a generic property template is not cheap for some situations.