C++ 作用域解析运算符

17 Mar 2025 | 4 分钟阅读

本节将讨论 C++ 编程语言中作用域解析运算符及其各种用法。作用域解析运算符用于引用超出作用域的全局变量或成员函数。因此,我们使用作用域解析运算符来访问程序的隐藏变量或函数。该运算符表示为双冒号 (::) 符号。

Scope Resolution Operator in C++

例如,当程序中全局变量和局部变量或函数具有相同的名称时,当我们调用该变量时,默认情况下它只访问内部或局部变量,而不调用全局变量。这样,它隐藏了全局变量或函数。为了克服这种情况,我们使用作用域解析运算符来获取程序的隐藏变量或函数。

作用域解析运算符的用途

  1. 它用于访问程序的隐藏变量或成员函数。
  2. 它使用作用域解析在类外部定义成员函数。
  3. 它用于访问类的静态变量和静态函数。
  4. 作用域解析运算符用于在继承中覆盖函数。

使用作用域解析 (::) 运算符访问隐藏值的程序

Program1.cpp

输出

The value of the local variable num: 100
 The value of the global variable num: 50

使用作用域解析 (::) 运算符在类外部定义成员函数的程序

Program2.cpp

输出

It is the member function of the class.

使用作用域解析 (::) 运算符演示标准命名空间的程序

Program3.cpp

输出

Enter the value of num: 50
 The value of num is: 50

使用作用域解析 (::) 运算符访问静态变量的程序

Program4.cpp

输出

The value of the static integer n1: 5
 The value of the local variable n1: 15
 The value of the Base::n2 = 10

使用作用域解析 (::) 运算符访问静态成员函数的程序

Program5.cpp

输出

Use scope resolution operator to access the static member.

使用作用域解析 (::) 运算符覆盖成员函数的程序

Program5.cpp

输出

 It is the test() function of the ABC class.
 It is the test() function of the child class.