Si lo he entendido bien, quieres tener un array de objetos tipo cAsignaturas.
Al hacer
Código:
cAsignaturas *asignaturas[5]
Estas declarando un array de PUNTEROS a cAsignaturas, no un array de cAsignaturas. Si esto es lo que quieres, incia los punteros NULL. Y después asigna los que necesites con
Código:
asignaturas[0]=new cAsignaturas(argumentos);
Aunque yo tendría una clase adicional cAlumnos para manejar las asignaturas de una forma más ordenada y elegante.