Object Oriented programming languages define all of their functionality in terms of objects. All objects of the same type make up a class of objects which have common functionality. It is this common functionality that is coded into the program as a class.
There are a number of classes that are common to many programs. An example of this would be the class that handles the display of a window on the screen. Such a class would need to know how to display the window, what common features to display in the window (title bar, minimize and maximize buttons etc.) and how to perform functions such as moving or re sizing the window. Classes such as this one can be placed in a class library for use in all of the programs that are being written that need to handle these particular classes of objects.
There are many classes like this that are so common in fact that it is a complete waste of effort for each individual (or company) to develop their own versions of these classes. A better and cheaper alternative is to purchase a library of such classes from a company that has already developed these classes for you.
For my C++ development I purchased a class library called Zinc Application Framework which is now owned by Wind River. This class library contains all of the necessary classes to handle all of the screen display, input via keyboard and mouse, and handles the storage and manipulation of large numeric, date, and time fields etc. The library even comes with a screen designer program that allows all of the windows that the program will use to be predefined and not needing to have them hard coded into the program. Another advantage of this class library is that it allows one program to be developed that can be compiled and run on a number of different operating systems without requiring any operating system specific code. With the copies of the class library that I purchased, I can compile a program to run on DOS, Windows (both 16 bit and 32 bit versions), and OS/2. There are (or at least were) versions available for various versions of UNIX (including Linux) and embedded operating systems.
This is not the only such class library available and there are several others available that provide similar functionality and capabilities.
In addition to these general class libraries (most of which need to be purchased) there are also a number of more specialized class libraries available that you can aquire to assist you if you are creating programs that require these functions. There are many of these available over the internet and the following are a few of the ones that I found by doing a quick search;
This article written by Stephen Chapman, Felgall Pty Ltd.