C語言 第3章 第4章.ppt

  1. 1、本文档共208页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C語言 第3章 第4章

第3章 构造函数 3.1 对象的定义 3.2 构造函数的使用 3.3 析构函数 3.4 带参数的构造函数 3.5 构造对象的顺序 3.6 构造函数重载 3.7 编程实例 3.1 对 象 的 定 义 3.1.1 const类型声明 C++中变量的命名规则与C语言相同,也是由变量类型、存贮类型、作用域和生存期等概念来描述。C++要求变量在使用前必须声明,且可在使用前的任何地方声明。在C++中,变量可声明的类型有和C一样的类型(void、int、short、char、long、float、double),此外,还新增加了一些类型, const类型就是其中常用的类型之一,在此将详细介绍其使用情况。 通常,一个变量被声明为const类型后,就只能被读,而且该变量必须在声明时定义。此后,在任何地方的修改都将会导致编译错误。由于const变量只能在初始化时候赋值,因此,下面的语句都是错误的: const int i; double * const pd; 我们常常用const型的常量来代替用#define定义的常量,因为const型的常量要灵活的多,它可以创建有类型的常量,这是用#define定义的常量所无法比拟的。 另外,在C++中,const可用于下面的代码: const int arraySize=6000; float array[arraySize]; 而ANSI C是不能接受这段代码的(ANSI即美国国家标准化协会)。 在ANSI C中,const型的文件变量是全局变量,即除非声明为static存储类型,否则它将在声明之外的文件中可见。当含有const声明的头文件被一个以上的源文件所包含时,将会导致严重后果。C++的解决方案是将所有const对象的缺省存储类型定义为static. 当用const来说明其它类型时将产生一些有趣的现象,例如: const char * pc=“ABCD”; 其中,pc是一个指向const char*的指针。pc当然也可以用来指向其它对象,但它指向了某个对象,那么其指向的内容就不能改变。例如: pc [1]= c; //错误 pc=xyz; //正确 然而,当我们这样来说明: char* const pc=ABCD; 时,pc是一个const型的指针,它指向字符串“ABCD”。pc不能再指向其它对象,但pc所指向的内容却是可以变化的。例如: pc [1]=c; //正确 pc=xyz; //错误 下面是另一种组合形式: const float f; const float*const pf=f; 其中,pf是一个const类型的指针,它的指向内容也是const类型的,即它是一个指向const类型的const指针。pf既不能随便乱指,也不能改变它所指向的内容。例如: pf=3.14 //错误 pf=x; //错误 注意:在C++中,类型的说明需使用从里向外读这一原则。应用这一原则,对组合类型的定义就比较容易理解了。 const定义经常被应用于函数的参数说明中,建议读者在设计程序时,一定要将那些不应该在函数体中改变的参数设计成为const类型。 在C++中,与常量有关的是用enum定义的枚举类型。枚举实际上定义了一组常量。例如: enum Booler{FALSE,TRUE} 该语句定义了由两个整型常量组成的枚举,并给它们依次赋了从0开始并逐一递增的缺省值,因此,上述声明等价于: const int FALSE=0; const int FALSE=1; 与C不同的是,在C++中定义的枚举就像类型名一样可单独使用。例如:

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档