The kind of class Marx was referring to is that of economic class, that is, class created as a result of the relationship to the means of production. Marx's view was that throughout history, various groups of people have definitive relationships to their means of sustenance - that is, who provides for them, so that they survive? In slave society, it was the slave master providing to the slave, for example. In today's society, the largest group of people, the proletariat, sustain themselves via the bourgeoisie employment in the form of wage labour.
I do not think that Socialism itself does away with the problems of humanity, but it does away with the power relationship between proletarian and bourgeois, and also all those other historical classes.
Communism isn't about equality of outcomes, it's about having the ability to apply your labour in the way which you are able to, in order to provide for yourself. Of course we must work to live (which is unfortunate, but Socialism helps mitigate that by voluntary means). It is totally fine, in my opinion, to have more than the other person next door. In a Communist society, the only reason why you would have more is because you worked harder, put more hours in, or were more efficient at what you do than the other person.
With regard to children, I don't know how to answer that question, and I don't know if there exists such a way by voluntary association which leads to such an outcome as perfect equal opportunity for reproduction. I would be very interested in finding a way, though.