No solamente clases, Enigma, sino también funciones y variables. Una de las ventajas de C++, pero creo es común a todos los lenguajes aunque la gente no se da cuenta, es que puedes distribuir el código en diferentes archivos para hacer más fácil y entendible de programar una aplicación grande.
Si tu miras en el código fuente de Quake 2 o Quake 3: Arena no
vas a encontrar un archivo .c de proporciones biblicas, sino un monton de archivos que se encargan de cosas diferentes: redes, comandos de la consola, sonido, leer del teclado, cargar mapas, dibujar modelos 3D, etc.
Un compilador te permite generar un exe mediante muchos archivos .c o .cpp que contienen clases, funciones, variables, etc.
También puedes crear librerias (.lib) que puedes usar en varios programas. Las librerias contienen clases y funciones, pero no se ejecutan por si solas sino que un programa las usa. Por ejemplo, una libreria contiene las funciones para hacer gráficos 3D, entonces un programa puede usar esa libreria como si el código de esta estuviera escrito en el. Espero que cojas la idea.