¿El programa no itera ni calcula los resultados esperados?

Estoy intentando crear una funcion que al mirar una lista de valores de un archivo .csv en el cual hay 3 datos por linea, id, gender y age. Tras la ejecuccion se cuentan cuantos M y F habia pero al ejecutar el codigo al final obtengo que el la iteracion del while solo se ejecuta una vez y que solo tengo una M ya que solo se ha ejecutado el codigo una vez. Cuando he forzado a que iterase un numero de veces me dice que solo hay M’s lo que me lleva a pensar a que seguramente este leyendo los datos de forma erronea. El codigo que he escrito es:

else{     ifstream f;     f.open (direccion1);     if (f.is_open()){     string female = "F";     string male = "M";     int females = 0;     int males = 0;     string idU;     string gender;     string age;         while (f.good()){                            getline (f, idU, ',');               getline (f, gender, ',');             getline (f, age, ',');              if (gender == female){                 females++;             }             else if (gender == male){                 males++;             }         }      cout << "\nUsos de Bizi por hombres: " << males;     cout << "\nUsos de Bizi por mujeres: " << females;     f.close();     } } 

introducir la descripción de la imagen aquí

Puse para probar un contador de iteraciones dentro del while y en efecto solo se ejecuto una vez y por mucho que miro no consigo ver el error. Tambien para mas informacion aqui dejo el diseño del fichero .csv

introducir la descripción de la imagen aquí

¿Alguna idea de porque los valores no varian y solo se ejecuta el bucle una vez? Muchas gracias por cualquier aporte!

¿EL METODO PAINT() A QUE CLASE PADRE PERTENCE ORIGINALMENTE A LA CLASE COMPONENT O LA CLASE CONTAINER?

He investigado y veo que en la api de java el metodo paint() se repite en la clase component y en la clase container y quisiera saber este metodo paint de donde viene originalmente de container o de component? o los dos son 2 metodos con funcionalidades diferentes pero con el mismo nombre ??