::在c++中什么意思
::是c++中的运算符。
::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符。
1)全局作用域符。
“::”指明了成员函数所属的类。如:M::f(s)就表示f(s)是类M的成员函数。
2)类作用域符。
例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给 出f的定义,那么在类外定义f时, 就要写成void A::f(),表示这个f()函数是类A的成员函数。
3)命名空间作用域符。
表示引用成员函数及变量。
扩展资料:
作用
1、全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分。
2、作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为了避免不同的类有名称相同的成员而采用作用域的方式进行区分
如:A,B表示两个类,在A,B中都有成员member。那么A::member就表示类A中的成员member;B::member就表示类B中的成员member。
3、"::"是作用域限定符或者称作作用域运算符或者作用域操作符(scope operator).例如命名空间
"::"作用:namespace::name。
参考资料来源:百度百科——::
表示作用域,和所属关系。
::是运算符中等级最高的,它可以分为以下三种:
1、global scope(全局作用域符),用法(::name)
2、class scope(类作用域符),用法(class::name)
3、namespace scope(命名空间作用域符),用法(namespace::name)他们都是左关联(left-associativity)他们的作用都是为了更明确的调用你想要的变量,如在程序中的某一处你想调用全局变量a,那么就写成::a;
如果想调用class A中的成员变量a,那么就写成A::a,另外一个如果想调用namespace std中的cout成员,你就写成std::cout(相当于using namespacestd;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout)。
扩展资料:
::在C++中的具体用法:
1、作用域符号:
前面一般是该类名称,后面是该类的成员名称。C++为避免不同的类有相同的成员而采用作用域的方式进行区分,eg:A,B表示两个类,在A,B中都有成员member,那么:A::member表示A中的成员member,B::member表示B中的成员member。
2、全局作用域符号:
当全局变量在局部函数中与其中某个变量重名时,可以用::来区分,否则局部变量会屏蔽全局变量。
3、作用域分解运算符:
比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f函数的定义,那么在类外定义f时,就要写成void A::f(),表示这个f函数是类A的成员函数。
参考资料:百度百科-C++
表示作用域,和所属关系。
::是运算符中等级最高的,它分为三种:
1)global scope(全局作用域符),用法(::name)
2)class scope(类作用域符),用法(class::name)
3)namespace scope(命名空间作用域符),用法(namespace::name)
他们都是左关联(left-associativity)
他们的作用都是为了更明确的调用你想要的变量,如在程序中的某一处你想调用全局变量a,那么就写成::a,如果想调用class A中的成员变量a,那么就写成A::a,另外一个如果想调用namespace std中的cout成员,你就写成std::cout。
扩展资料:
C++语言特点:
支持数据封装和数据隐藏
在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。
在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。
每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。
支持继承和重用
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
支持多态性
采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。
当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。
继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。
参考资料:百度百科-C++
一、作用域符号:
作用域符号”::“的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。
二、全局作用域符号:
全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分。
三、作用域分解运算符:
::是C++里的作用域分解运算符,“比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。【点击测试我适不适合学设计】
想学习前端技术知识学习就选千锋教育。千锋的企业服务业务赋能企业数字化转型进程,致力于为企业提供全方位综合人才服务,目前已与百度、京东、阿里、腾讯、统信、东方国信等国内知名企业达成深度合作关系,与国内20000余家企业建立人才输送合作关系。千锋在企业招聘和人才就业之间搭建起桥梁和纽带,为我国数字产业健康快速发展做出了实质性贡献。
展望未来,千锋将在高校、企业、学员和各方合作伙伴支持下,努力成为一个有情怀、有良心、有品质的一流教育机构,为国家培养更多高质量数字技能人才,助力职业教育提质培优,助推国家数字经济蓬勃发展。
例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,
就要写成void A::f(),表示这个f()函数是类A的成员函数。
(2)直接用在全局函数前,表示是全局函数
例:在VC里,你可以在调用API 函数里,在API函数名前加::
(3)表示引用成员函数及变量,作用域成员运算符
例:System::Math::Sqrt() 相当于System.Math.Sqrt()