Routines (alphabetical) > Object Classes > Miscellaneous Object Classes > IDL_Object::_overloadTilde

# IDL_Object::_overloadTilde

The IDL_Object::_overloadTilde function method defines the behavior of the unary logical NOT (~) operator for instances of objects that inherit from the IDL_Object class.

This method is designed to replicate the default behavior of objects that do not use operator overloading. As a result, object classes that do inherit from the IDL_Object class but that do not override this particular method will behave in the same manner as object classes that do not inherit from the IDL_Object class.

Tip: If you write an object class that inherits from IDL_Object and overloads this method, you can call the superclass method directly to achieve the default behavior for specific cases.

## Syntax

In most cases, this method is called indirectly by specifying an object reference as an argument on the right side of the ~ operator. When called explicitly, the syntax is:

Result = Obj->[IDL_Object::]_overloadTilde( )

## Return Value

This method is called when the operand to the ~ operator is an instance of a class that inherits from the IDL_Object class, but that does not implement its own _overloadTilde method. The return value replicates the behavior of the ~ operator with an object that does not inherit from the IDL_Object class.

## Arguments

None

## Keywords

None

## Routine Signature

To overload the unary ~ operator for an object class, implement a method with the following signature:

FUNCTION class::_overloadTilde

The return value of this function should be the result of the overloaded ~ operation.

## Version History

8.0 | Introduced