i"m new to c++. I'm having trouble understanding the c++ code(syntax). can anybody help me to under stand the following code

01 class juice : public fruit:range
02 {
03 public:
04 juice( fruit::fruitContext& context ) { } // constructor: does nothing
05 void drinkjuice( fruit::fruitContext& context)
06 {
07 string line = context.getfruit(); //--- get name of fruit ---
08 cout<<line<<"juice is ready";
09 }
10 };


I don't understand few lines of this code because I'm not expert of c++;

My question are following:

1:what the code first line mean? i know abut its about inheritance but can any one tell me why we use public access specifier in inheritance code? are we inheriting fruit class or orange class? I'm totally confused . is it a multiple inheritance code ?

2:what is this code line doing"juice( fruit::fruitContext& context ) { }"? I know this is a constructor but all I want to know what is scope resolution operator doing here? second if the constructor is doing nothing than why are we using it ?