You are here

Scope resolution operator in c++

Scope resolution operator(::) is used to define a function outside a class or when we want to use a global variable but also has a local variable with same name.

C++ programming code

#include <iostream>
 
using namespace std;
 
char c = 'a';     // global variable
 
int main() {
  char c = 'b';   //local variable
 
  cout << "Local  variable: " << c << "\n";      
  cout << "Global variable: " << ::c << "\n";  //using scope resolution operator
 
  return 0;
}

Output of program:

Local  variable: b
Global variable: a

Scope resolution operator in class

#include <iostream>
using namespace std;
 
class programming {
public:
  void output();  //function declaration
};
 
// function definition outside the class 
 
void programming::output() {
  cout << "Function defined outside the class.\n";
}
 
int main() {
  programming x;
  x.output();
 
  return 0;
}

Output of program:
Function defined outside the class.