Class EnumBase Protected m_Value As Long Public Sub EnumBase(value As Long) m_Value=value End Sub Sub ~EnumBase() End Sub 'Abstract Function ToString() As String Sub Copy(ByRef obj As EnumBase) m_Value=obj.m_Value End Sub Sub Operator = (ByRef value As EnumBase) As EnumBase m_Value = value.m_Value End Sub Function Operator() As Long Return m_Value End Function Function Operator == (Value As Long) As Long If m_Value = Value Then Return _System_TRUE Else Return _System_FALSE End If End Function Function Operator or (ByRef value As EnumBase) As EnumBase Dim returnValue As EnumBase returnValue.m_Value = m_Value Or value.m_Value Return returnValue End Function Function Operator and (ByRef value As EnumBase) As EnumBase Dim returnValue As EnumBase returnValue.m_Value = m_Value And value.m_Value Return returnValue End Function Function Operator not (ByRef value As EnumBase) As EnumBase Dim returnValue As EnumBase returnValue.m_Value = Not m_Value Return returnValue End Function Function Operator xor (ByRef value As EnumBase) As EnumBase Dim returnValue As EnumBase returnValue.m_Value = m_Value Xor value.m_Value Return returnValue End Function End Class