美文网首页
c++中冒号(:)和双冒号(::)的用法

c++中冒号(:)和双冒号(::)的用法

作者: 摘月亮的人 | 来源:发表于2018-02-21 08:41 被阅读0次

1.冒号(:)用法

(1)表示机构内位域的定义(即该变量占几个bit空间)

typedef struct _XXX{

unsigned char a:4;

unsigned char c;

} ; XXX

(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。

struct _XXX{

_XXX() : y(0xc0) {}

};

(3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”或"private:”出现为止。"private:"为默认处理。

(4)类名冒号后面的是用来定义类的继承。

class 派生类名 : 继承方式 基类名

{

派生类的成员

};

继承方式:public、private和protected,默认处理是public。


2.双冒号(::)用法

(1)表示“域操作符”
例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,
就要写成void A::f(),表示这个f()函数是类A的成员函数。

(2)直接用在全局函数前,表示是全局函数
例:在VC里,你可以在调用API 函数里,在API函数名前加::

(3)表示引用成员函数及变量,作用域成员运算符

例:System::Math::Sqrt() 相当于System.Math.Sqrt()
——————————————————————————————————————

VC中如下

::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
  :: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,考试,大提示在类内定义的时候,打此函数名默认调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。比如在VC里,你可以在调用API函数时,在API函数名前加::。(编辑:)

相关文章

  • c++中冒号(:)和双冒号(::)的用法

    : 的用法 表示机构内位域的定义,即该变量占几个bit空间 构造函数后面的冒号起分割作用,是类给成员变量赋值的方法...

  • c++中冒号(:)和双冒号(::)的用法

    1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) (2)构造函数后面的冒号起分割作用,是...

  • c++ 中双冒号(::)的用法

    1、表示“域操作符”例:声明了一个类A,类A里面声明了一个成员函数 void click(),但没有在类的声明里边...

  • ::before 和 :after中双冒号和单冒号 有什么区别?

    单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。(伪元素由双冒号和伪元素名称组成);:before...

  • c++ 双冒号(::) 学习

    :: 表示作用域,有3种使用方式: global scope(全局作用域符),用法(::name) class ...

  • 第五课 流程控制(一)

    if语句 注意冒号 注意冒号 注意冒号 for语句 Python 中的 for语句和 C 中的略有不同。通常的循环...

  • 知识点--面试可能用得到

    ::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用经常会遇到的的伪元素有:...

  • 前端面试3

    1.::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用经常会遇到的的伪元素...

  • kotlin 双冒号

    Kotlin 中 双冒号操作符 表示把一个方法当做一个参数,传递到另一个方法中进行使用,通俗的来讲就是引用一个方法...

  • 认识css3伪元素

    css3伪元素 css2的规定为单冒号表示,而css3已经明确表示伪类使用单冒号,伪元素使用双冒号,本次所有测试双...

网友评论

      本文标题:c++中冒号(:)和双冒号(::)的用法

      本文链接:https://www.haomeiwen.com/subject/qfmntftx.html