c++中冒号(:)和双冒号(::)的使用说明

以下是对c++中冒号和双冒号的用法进行了介绍,需要的朋友可以过来参考下
 

(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函数名前加::。

时间: 2024-10-30 21:14:41

c++中冒号(:)和双冒号(::)的使用说明的相关文章

c++中冒号(:)和双冒号(::)的使用说明_C 语言

(1)表示机构内位域的定义(即该变量占几个bit空间) 复制代码 代码如下: typedef struct _XXX{          unsigned char a:4;          unsigned char c;} ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型. 复制代码 代码如下: struct _XXX{          _XXX() : y(0xc0) {}}; (3) public:和privat

c语言中后面加一个冒号什么意思

问题描述 c语言中后面加一个冒号什么意思 解决方案 一般来说,用于有多重循环的时候直接跳出循环用,用goto写法简洁,用breakcontinue等麻烦. 除此之外,少用goto 你可以用goto和标号构造一个循环,比如计算1+2+...+100 int i = 0;int sum = 0;start:i++;sum+=i;if (i <100) goto start;printf(""%d"" sum); 解决方案二: 一个标号,也许后面要goto()到这里

c#-C#中 public class ** :** 冒号后面的东西是什么

问题描述 C#中 public class ** :** 冒号后面的东西是什么 例 如 public class StackedBarSampleDemo : DemoBase 报错原因是未能找到类型 怎么解决呢? 求大神 解决方案 前面的类从后面的继承.看看是不是缺少引用或者using

c++-为什么BrdGetE2promTestFlag这个接口之前加了双冒号 但没有加类名 是什么原因啊

问题描述 为什么BrdGetE2promTestFlag这个接口之前加了双冒号 但没有加类名 是什么原因啊 解决方案 ::表示全局,不是某个类的函数.

PPT中怎么绘制双音符符号?

PPT中怎么绘制双音符符号?   1.新建一个PPT,新建一个空幻灯片.在桌面上新建一个新的PPT ,然后打开,再新建一个新的幻灯片,等会就在这个新的幻灯片来做这个双音符符号. 2.选择最顶部的导航栏上的插入,形状 .点击导航栏 上的插入,然后找到形状,点击进去. 3.选择椭圆形 .在形状中找到椭圆形,点击这个椭圆形的图案,双音符就是用这椭圆形来制作的.

wps文件中怎么添加双箭头符号?

  wps文件中怎么添加双箭头符号?           1.打开WPS表格这款软件,进入WPS表格的操作界面,如图所示: 2.在该界面内找到,插入选项,如图所示: 3.点击插入在其工具区里找到符号选项,如图所示: 4.点击符号选项,在其子级菜单里找到其他符号选项,如图所示: 5.点击其他符号选项,弹出符号对话框,如图所示: 6.在该对话框内找到双箭头选项,如图所示: 7.点击该选项,我们需要的双箭头就输入进来了,如图所示:

内存拷贝-MFC中图像无法使用双缓冲拷贝

问题描述 MFC中图像无法使用双缓冲拷贝 我接手了别人的程序,需要使用双缓冲绘图,程序中定义的内存对象pDC可以绘制任何曲线,绘制完毕后复制给窗体.但是内存对象pDC就不能进行BitBlt操作,哪怕是自身平移拷贝自身都不可以.pDC->BitBlt(0, 0, rect.Width(), rect.Height(),pDC, 10, 10, SRCCOPY);不知道是pDC哪里设置有了问题?

企业非市场策略的运用:以中粮和双汇为例

在中国现实的市场环境中,企业应高度重视运用非市场策略,通过获得非市场环境中的利益相关者的支持和理解,从而提升企业的影响力,获取更大.更多的发展机会. 文/余吉安 企业的发展不仅受到竞争对手.顾客等市场力量的影响,还会受到其他利益相关者如政府.公众.媒体等的影响.政府.社会.公众等这些非市场因素对企业的成败有显著的影响.非市场策略就是企业与非市场环境中的利益相关者建立关系的策略.在中国这样的"大政府.小社会"的市场结构中,企业均重视运用非市场策略,通过获得非市场环境中的利益相关者的支持和

VC中双冒号(::)的作用

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