IBM Open Class
# IBM Open Class

IBM Open Class (IOC) is an IBM C++ product originally developed by Kevin Leong and originally known under several names in the C++ industry, including ICL (IBM Class Library), UICL (User Interface Class Library), and OCL (Open Class Library).

IOC was an extensive set of C++ classes used to build CLI and GUI applications which could then be easily cross-compiled to OS/2, Microsoft Windows, and AIX. IOC also formed the basis for IBM's VisualAge for C++ graphical application builder. The non-GUI portions of IOC were available for z/OS and OS/400.

## History of IOC

The IOC was included as part of IBM's C++ compiler environment. Applications developed with IOC could be distributed with a royalty-free runtime, or could be statically linked against the IOC libraries. Initially only available for OS/2, the IOC was eventually made available for Windows, AIX, z/OS, and OS/400. Support for the OS/2 and Windows VisualAge for C++ compiler—as well as the accompanying IOC—was officially withdrawn by IBM on April 27, 2001. IOC was removed from z/OS 1.9, introduced in 2007.

* C/Set++ v2.01 for OS/2 (1993)
* VisualAge C++ for OS/2, version 3.0
* VisualAge for C++ for Windows, version 3.5
* C and C++ Compilers for OS/2, AIX, and for Windows NT, version 3.6
* C and C++ Compilers for OS/2 and Windows, version 3.65 (1998?)
* VisualAge C++ Professional for OS/2 and Windows NT, version 4.0 (1998)

## Examples

The most widely recognized example of a simple application that uses the IOC is hello world:

Other examples of commonly used IOC classes and methods include:

