## IDL Support for C++

Most of the IDL features apply to both C and C++ applications. However, just as C++ is an extension to C, this topic describes additional IDL features required to use IDL effectively with C++.

When the IDL compiler compiles an interface definition, it typically generates a header file and one or more intermediate stub files in C or C++, and then it invokes the appropriate compiler to generate object stub files. The IDL Compiler generates C language intermediate stub files by default, but you can use the -lang cxx option to cause it to generate C++ files instead.

This topic describes the following topics:

· The idl-generated class hierarchy

This is important for a basic understanding of how to integrate the interface into an object-oriented application.

· Interface inheritance

One interface can be derived from another, just as classes are derived from other classes.

· Static operations

Static operations specify member functions that are called independently from an object. All other operations specify nonstatic member functions that are only invoked with respect to an existing object.

· Reference parameters

Reference parameters are passed by reference instead of being passed by value.

· idl-generated member functions

Several member functions are generated by IDL and made part of the interface class. These functions perform useful operations for all interfaces.

More:

The idl-generated Class Hierarchy

The Interface Inheritance Operator

The static Keyword for Operations

The C++ Reference Operator (&) on Parameters

Functions Generated by IDL

###