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

