摘于:http://blog.csdn.net/zimingjushi/article/details/6549390

(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、类构造函数(Constructor)的初始化列表
先说下什么叫构造函数吧(是不是啰嗦了?C++的人应该都知道了吧,还是以防万一一下)。所谓构造函数,就是与类同名的函数,它与普通函数的区别在于,它没有返回类型。
在构造函数后面紧跟着冒号加初始化列表,各初始化变量之间以逗号(,)隔开。下面举个例子。
class myClass
{
public :
myClass();// 构造函数,无返回类型,可以有参数列表,这里省去
~myClass();// 析构函数
int a;
const int b;
}

myClass::myClass():a(1),b(1)// 初始化列表
{
}
上面的例子展示了冒号的这个用法,下面对这个用法进行几点说明:
1)初始化列表的作用相当于在构造函数内进行相应成员变量的赋值,但两者是有差别的。
在初始化列表中是对变量进行初始化,而在构造函数内是进行赋值操作。两都的差别在对于像const类型数据的操作上表现得尤为明显。我们知道,const类型的变量必须在定义时进行初始化,而不能对const型的变量进行赋值,因此const类型的成员变量只能(而且必须)在初始化列表中进行初始化,即下面的代码将会出错:
myClass::myClass()
{
a = 1;// 没错,效果相当于在初始化列表中进行初始化
b = 1;// 出错,const变量不能进行赋值操作;
}
2)初始化的顺序与成员变量声名的顺序相同。
先看一下下面的程序:
myClass::myClass():b(1),a(b)
{
}
这样的执行结果a,b各是多少呢?b=1,a=1?不是,b=1而a是个随机数。这一点是相当重要的哦,一般在初始化列表中进行初始化时,初始化的顺序应与声明的顺序保持一致,防止出现不必要的错误。
3)对于继承的类来说,在初始化列表中也可以进行基类的初始化,初始化的顺序是先基类初始化,然后再根据该类自己的变量的声明顺序进行初始化。

最新文章

  1. Java守护线程
  2. linux vps安装kloxo配置全部过程
  3. CSS技能汇总,研究及实践
  4. 【转】HTTP协议详解
  5. linux TCP Wrappers
  6. mybatis sql in 查询
  7. dom4j生成xml
  8. ie调试工具
  9. URL编码 URLEncoder 示例
  10. asp.net上传文件并创建文件夹和删除文件
  11. Java的动态代理机制详解(转)
  12. 菜鸟从零学编程(七)——搭建一个完整的Java开发环境
  13. vs2008中使用gdi+的设置
  14. [置顶] think in java interview-高级开发人员面试宝典(二)
  15. 深入理解ajax系列第三篇——头部信息
  16. Windows API方式直接调用C#的DLL,支持多音字转拼音、Gzip解压缩、公式计算(VBA、C++、VB、Delphi甚至java都可以)
  17. java基础-01基本概念
  18. winfrom窗体中嵌套WPF控件
  19. 遍历删除查临时表相关session再操作表
  20. 中文代码示例之NW.js桌面应用开发初体验

热门文章

  1. Python 语言中经常有疑惑的地方
  2. python 序列化和反序列化
  3. 经典C语言编程注意点
  4. C# 获取本地电脑所有的盘符
  5. exadata(硬件更换文档部分)
  6. HDU 1532||POJ1273:Drainage Ditches(最大流)
  7. hibernate动态表名映射--仅仅有想不到,没有做不到
  8. Getting Started with MongoDB (C# Edition)
  9. thinkphp5项目--个人博客(一)
  10. [Codeforces 757E] Bash Plays with Functions (数论)