::在C++中作用

"::"在C++中表示作用域,和所属关系。"::"是运算符中等级最高的,它分为三种,分别如下:

一、作用域符号:

作用域符号”::“的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。

例如:A,B表示两个类,在A,B中都有成员member。

那么:

1、A::member就表示类A中的成员member。

2、B::member就表示类B中的成员member。

二、全局作用域符号:

全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分,例如:

 

三、作用域分解运算符:

::是C++里的作用域分解运算符,“比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。例如:

 

C++中,`::`是作用域运算符(Scope Resolution Operator),用于限定标识符的作用域。 具体来说,`::`的作用有以下两种: 1. 限定命名空间中的标识符作用域 在C++中,命名空间可以用来避免命名冲突。使用`::`可以限定标识符在特定的命名空间中的作用域。 例如,假设我们有一个名为`my_namespace`的命名空间,其中定义了一个名为`x`的变量: ```c++ namespace my_namespace { int x = 10; } ``` 我们可以使用作用域运算符来访问该变量: ```c++ std::cout << my_namespace::x << std::endl; ``` 这里的`::`就是用来限定`x`变量在`my_namespace`命名空间中的作用域。 2. 访问类的成员变量和成员函数 在C++中,使用`::`可以访问类的静态成员变量和静态成员函数。静态成员变量和静态成员函数是与类关联而不是与对象关联的,因此可以使用作用域运算符来访问它们。 例如,假设我们有一个名为`MyClass`的类,其中定义了一个名为`x`的静态成员变量和一个名为`func`的静态成员函数: ```c++ class MyClass { public: static int x; static void func() { std::cout << "Hello, world!" << std::endl; } }; int MyClass::x = 10; ``` 我们可以使用作用域运算符来访问静态成员变量和静态成员函数: ```c++ std::cout << MyClass::x << std::endl; MyClass::func(); ``` 这里的`::`就是用来限定`x`变量和`func`函数在`MyClass`类中的作用域。 需要注意的是,`::`运算符还可以用于访问全局作用域中的标识符。例如,`::x`可以用来访问全局作用域中的变量`x`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值