I also do not understand keyword friend since I didn't learn that yet.
A function declared a friend is not part of the class, it is a separate stand-alone function. Because it is a friend of the class, it is allowed access to the private members of the class. In this case, it is allowed to access and modify the Class.length. You could here instead use the setLength() function and then there would be no need for the operator>> function to be a friend.
What does ssout.str("") on line 59 do?
That's just a quick way of emptying the stringstream, by assigning an empty string.
On line 22 what does Class(length + rOperand.length) do?
Here I tweaked your operator+ function quite a lot.
What you had was in fact ok, but I wanted the function to return another object of the same class, rather than an integer. So first I added the two lengths, then created a new instance of the class using this constructor Class(unsignedint iVal). If you don't do that, the compiler will supply an automatically-generated conversion for you. I wanted to make it explicit so it was clear what was happening.