Explain scope resolution operator with suitable example.


 In programming languages such as C++, the scope resolution operator (::) is used to indicate the scope of a variable or function. It is used to access a global variable or function, or a variable or function that is defined in a namespace or a class.

For example, consider the following code:

c
#include <iostream> int x = 5; // global variable class MyClass { public: static int x; }; int MyClass::x = 10; // static member variable int main() { int x = 7; // local variable std::cout << "x = " << x << std::endl; // output: x = 7 std::cout << "global x = " << ::x << std::endl; // output: global x = 5 std::cout << "class x = " << MyClass::x << std::endl; // output: class x = 10 return 0; }

In this code, there are three variables named x: a global variable, a static member variable of the MyClass class, and a local variable in the main() function.

To access the global variable x from within the main() function, we use the scope resolution operator like this: ::x. This tells the compiler to look for the variable x in the global scope, rather than the local scope.

Similarly, to access the static member variable x of the MyClass class, we use the scope resolution operator like this: MyClass::x. This tells the compiler to look for the variable x in the scope of the MyClass class.

In summary, the scope resolution operator allows us to specify the scope of a variable or function in C++, and is useful for avoiding naming conflicts and accessing variables or functions that are defined in different scopes.

Post a Comment

Previous Post Next Post