個人的に値とpropertyを分けるのは好きじゃないな

property < int, ...> Value;

Constructor() : Value(this, 初期値) {}

Get(int& value);
Set(int& value, int& new_value);