Property Node1 Property - m_type + Property() + Property() + ~Property() + isValid() + type() + typeName() + setFrom() + getString() + getCastString() + setString() + name() Node2 TProperty< T > - m_ptr + TProperty() + pointer() + setFrom() + getString() + getCastString() + setString() + setFrom() + setFrom() * setFrom() Node1->Node2