C++中的范围解析运算符
时间:2020-02-23 14:30:03 来源:igfitidea点击:
在本文中,我们将重点介绍C++中的4种Scope解析运算符。
什么是C++中的范围解析运算符?
" C++编程语言"由各种运算符组成,用于处理和操纵数据。
一种这样的运算符是"范围解析运算符(::)"。
范围解析运算符用于以下目的:
当全局变量和局部变量共享相同的名称/标签时,访问全局数据变量。
使我们能够在类外部定义成员函数。
在另一个类中引用一个类。
访问类的静态变量。
4种范围解析算子
现在让我们尝试使用范围解析运算符访问全局变量,如下所示:
1.当局部变量具有相同的名称时访问全局变量
当全局变量和局部变量具有相同的名称时,我们可以使用范围解析运算符访问全局变量,如下所示。
语法:
::variable-name;
例:
#include<iostream> using namespace std; int var = 100; //Global/class data member int main() { int var = 1; //Local data member cout << "Global variable--var: " << ::var; return 0; }
输出:
Global variable--var: 100
此外,我们将尝试使用范围解析运算符在类外定义成员函数,如下所示:
2.使用::运算符在类外定义函数
语法:
return_type Class::function() {}
例:
#include<iostream> using namespace std; class Scope { public: void show(); }; //Function definition outside the class using :: operator void Scope::show() { cout<<"Welcome to theitroad!!"; } int main() { Scope SC; SC.show(); return 0; }
在C++中,我们可以使用::运算符在类外定义函数,如上所示。
输出:
Welcome to theitroad!!
现在,将在C++中将范围解析运算符与名称空间一起使用。
3.具有标准名称空间的范围解析运算符
#include<iostream> int main() { int x =0; std::cout<<"Enter the value for x\n"; std::cin>>x; std::cout<<"Value of x: "<<x; }
如果两个不同的名称空间具有相同的类名,则可以使用::运算符来区分它们,而不会出现如上所示的错误。
因此,此处cin和cout属于标准名称空间。
输出:
Enter the value for x 10 Value of x: 10
4.使用范围解析运算符访问类的静态数据成员
#include<iostream> using namespace std; class static_scope { public: static int var; void show(int var) { cout << "Static variable--var: " << static_scope::var<<endl; cout << "Local variable--var: " <<var; } }; int static_scope::var = 100; int main() { static_scope S; int var = 20; S.show(var); return 0; }
其中我们使用范围解析运算符访问了静态数据成员" var",如下所示。
输出:
Static variable--var: 100 Local variable--var: 20