运算符是采用一个或多个操作数或表达式并执行算术或逻辑计算的符号。
C ++支持C的所有运算符,C ++引入了一些新的运算符,如下所示:
符号 | 名称 |
<< | 插入运算符。 |
>> | 提取运算符。 |
:: | 范围解析运算符。 |
::* | 指针到成员声明符。 |
-> * | 指针到成员运算符。 |
.* | 指针到成员运算符。 |
new | 动态内存分配运算符。 |
delete | 内存释放运算符。 |
::(作用域分辨率)运算符用于限定隐藏名称,以便您仍可以使用它们。
::(SRO)可以使用两种类型:
如果命名空间作用域或全局作用域名称被块或类中的相同名称的显式声明隐藏,则可以使用一元作用域运算符。
您还可以使用类作用域运算符来限定类名或类成员名。如果隐藏了类成员名称,则可以通过使用其类名称和类作用域运算符对其进行限定来使用它。
Use of unary SRO: :: variable_name; Use as class scope (to access class member): class_name :: class_member;
//程序说明:::(SRO运算符) #include <iostream.h> int var=100; //全局变量 int main(){ int var=200; cout<<"value of var (local) : "<<var<<endl; cout<<"value of var (Global): "<<::var<<endl; ::var=::var+20; //更新全球值 var=var+20; //更新本地值 cout<<"\nAFTER UPDATING VALUES\n"; cout<<"value of var (local) : "<<var<<endl; cout<<"value of var (Global): "<<::var<<endl; return 0; }
输出结果
value of var (local) : 200 value of var (Global): 100 AFTER UPDATING VALUES value of var (local) : 220 value of var (Global): 120
用类说明::(SRO运算符)的程序
#include <iostream.h> class sample{ public: static int count; }; int sample::count =100; int main(){ cout<<"Value is = "<<sample::count<<endl; sample::count+=1; cout<<"AFTER UPDATING..........\n"; cout<<"Value is = "<<sample::count<<endl; return 0; }
输出结果
Value is = 100 AFTER UPDATING.......... Value is = 101