21xrx.com
2024-09-20 05:28:25 Friday
登录
文章检索 我的文章 写文章
C++单冒号的用法
2023-07-05 07:58:20 深夜i     --     --
C++ 单冒号 命名空间 作用域 成员函数

在C++中,“::”这个符号通常被称为单冒号,它可以在许多不同的情况下使用。本文将介绍单冒号的一些常见用途。

1. 命名空间

C++中的命名空间可以把一堆相关的函数、类、变量等组织在一起,避免命名冲突。使用单冒号可以访问命名空间中的成员,例如:


namespace A {

  void func()

    std::cout << "A::func" << std::endl;

  

}

int main() {

  A::func(); // 使用单冒号访问命名空间A中的函数func

  return 0;

}

2. 类作用域

当在类的成员函数中引用同名的全局变量或静态变量时,使用单冒号可以明确指定使用的是全局变量还是类的成员变量。


int num = 50;  //全局变量

class MyClass {

public:

  static int num;  //类的成员变量

  void func()

    int num = 30;  //局部变量

    std::cout << "全局变量num = " << ::num << std::endl; //使用单冒号访问全局变量

    std::cout << "类的成员变量num = " << MyClass::num << std::endl; //使用类作用域访问成员变量

    std::cout << "局部变量num = " << num << std::endl;

  

};

int MyClass::num = 100;  //类的成员变量定义

int main() {

  MyClass obj;

  obj.func();

  return 0;

}

3. 嵌套类

C++中的类可以嵌套在另一个类中。当访问嵌套类的成员时,使用单冒号可以指定访问其父类中的成员。


class A {

public:

  int a = 10;

  class B {

  public:

    int b = 20;

    void show()

      std::cout << "a = " << A::a << std::endl;  //访问父类中的a

    

  };

};

int main() {

  A::B obj;

  obj.show();

  return 0;

}

总结:单冒号在C++中的使用是非常灵活的,主要用于访问命名空间、类作用域和嵌套类。我们需要根据具体的情况灵活运用单冒号,以提高代码的可读性和可维护性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复