1. It permits a program to reference an identifier in the global scope that has been hidden by another identifier with the same name in the local scope.
  2. It is used to access an item that is outside the current scope.
  3. It is used for distinguishing class members and defining class methods.
  4. A major application of the scope resolution operator is in the classes to identify the class to which a member function belongs.