+ 2
What is purpose of scope resolution operator?
Also abbreviated as (::) what is its purpose when dealing with object oriented programming
4 Antworten
+ 2
You'll mostly need it for header files. For example class declaration in file.h, but the implementation in  file.cpp.
To implement the method you need the scope resolution operator.
+ 1
//You can use it to access global variables in this scenario
#include <iostream>
using namespace std;
int x=9; //global variable
int main() {
    int x=5; //local variable with same name but different scope 
    cout<<x<<endl; //returns local variable, 5
    cout<<::x<<endl; //returns global variable, 9
    return 0;
}
//hope that helps
+ 1
You can also use the scope resolution operator to access a class' static members from outside the class,
#include <iostream>
using namespace std;
class X {
   public:
   static int count;
};
int X::count = 10;  // define static data member
int main () {
   int X = 0;   // hides class type X
   cout << X::count << endl;   // use static member of class X
}
This will give the output:
10



