Primer y principal problema:
y más concretamente la línea:
esa línea no hace aboslutamente nada. No estás metiendo al alumno en la lista. La línea debería quedar así:
Y luego tienes un segundo error en el código, lo que pasa es que éste es irrelevante porque no usas esa función... pero si la usases te daría problemas:
Si implementas el constructor copia, lo mínimo que debes hacer es completar la función... si no vas a hacer nada mejor quita esa función o, mejor aún, declárala como privada. Si no la vas a usar puedes hasta evitar implementarla... así evitas que el compilador cree un constructor copia por defecto.
Y para rematar un consejo: intenta evitar las variables globales... no son buena idea porque en códigos más complejos pierdes la traza de dicha variable... además de que puedes modificarla sin querer en otras partes del código.
Código (cpp) [Seleccionar]
void Carpeta::agregarAlumno(Alumno *a){
if(isFull()){
cout << "\nEsta lleno";
}else{
alumnos[cantAlumnos];
cantAlumnos++;
}
}
y más concretamente la línea:
Código (cpp) [Seleccionar]
alumnos[cantAlumnos];
esa línea no hace aboslutamente nada. No estás metiendo al alumno en la lista. La línea debería quedar así:
Código (cpp) [Seleccionar]
alumnos[cantAlumnos] = a;
Y luego tienes un segundo error en el código, lo que pasa es que éste es irrelevante porque no usas esa función... pero si la usases te daría problemas:
Código (cpp) [Seleccionar]
Carpeta::Carpeta(const Carpeta& orig) {
}
Si implementas el constructor copia, lo mínimo que debes hacer es completar la función... si no vas a hacer nada mejor quita esa función o, mejor aún, declárala como privada. Si no la vas a usar puedes hasta evitar implementarla... así evitas que el compilador cree un constructor copia por defecto.
Y para rematar un consejo: intenta evitar las variables globales... no son buena idea porque en códigos más complejos pierdes la traza de dicha variable... además de que puedes modificarla sin querer en otras partes del código.