### Function Macro

# GObject DEFINE_ABSTRACT_TYPE_WITH_PRIVATE

since: 2.38

#### Declaration

    #define G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (
      TN,
      t_n,
      T_P
    )

#### Description

Similar to G_DEFINE_TYPE_WITH_PRIVATE(), but defines an abstract type.

See G_DEFINE_TYPE_EXTENDED() for an example.

Available since: 2.38

This function is not directly available to language bindings.

#### Parameters

`TN`

  Type: `-`

  The name of the new type, in Camel case.

`t_n`

  Type: `-`

  The name of the new type, in lowercase, with words separated by `_`.

`T_P`

  Type: `-`

  The `GType` of the parent type.