网站大量收购独家精品文档,联系QQ:2885784924

[理学]Chapter02 - C++基础.ppt

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

类的声明和实现 将类的声明和实现放在不同的文件中,主要原因有: 类实现文件通常较大,将两者混在一起不便于阅读、管理和维护 良好的软件工程的一个基本原则是将接口与实现方法分离,这样可以更容易地修改程序 对类的用户而言,类的实现方法的改变并不影响用户,只要接口不变即可 将类中成员函数的实现放在其声明文件中与放在实现文件中,在编译时的含义是不一样的 若将成员函数的实现直接放在类的声明中,则类的成员函数将作为内联函数处理 显然将所有的成员函数作为内联函数处理是不合适的 便于团体式的大型软件开发 对于软件开发商来说,他们可以向用户提供一些程序模块,这些程序模块往往只向用户公开类的声明,即接口,而不公开程序的源代码 而类的用户使用类时不需要访问类的源代码,但需要连接类的目标码。类的声明和实现分开管理可以很好地解决这个问题 4.对引用进一步说明 不允许建立void类型的引用 不能建立引用的数组 不能建立引用的引用,不能建立指向引用的指针 引用本身不是一种数据类型 可以将引用的地址赋给一个指针 此时指针指向的是原来的变量 引用运算符与地址操作符 一般场合, “”是地址操作符 引用仅在声明时带有引用运算符“” 不能对void 进行引用且不能建立引用数组 例:void a=3; //error int a[10]; int ra[10]=a; //error 没有引用的引用,也没有引用的指针;不能用类型来初始化引用,有空指针但无空引用 int ra = int ; int ri = NULL; // error 当使用引用运算符&取一个引用的地址时,其值为所引用的变量地址; int num = 50; int i = num; int *p = i; 引用运算符和地址操作符 尽管它们使用相同的符号,但是,两者不相同 引用仅仅在声明时带符号 以后就像普通变量一样使用,不能再带“&” 其他场合使用的“&”都是地址操作符 例如 int j=5; int i=j; i=123; int *pi = i; cout pi; 2.3.12 无名联合 union { int i; float f; } 无名联合是C++中特殊的联合,可声明一组无标记名共享同一内存地址的数据项。 在此无名联合中,声明了变量 i 和 f 具有相同的存储地址。 2.3.13 强制类型转换 在C中如果要把一个整数(int)转换为浮点数(float),要求使用如下的格式: int i = 10; float x = (float)i; C++支持这样的格式,但上面的语句可改写成: int i = 10; float x = float(i); 2.3.14 new和delete 指针变量 = new 类型名[(初始值列表)]; 指针变量 = new 类型名[维数1]… [维数n]; 运算符new用于内存分配的最基本语法形式为: 运算符delete用于释放new分配的存储空间。其基本的语法形式为: delete 指针变量; delete []指针变量; new自动计算“类型”所需要的存储空间的大小 在堆区分配相应大小的存储空间 将存储空间起始地址赋给特定类型的指针变量 用 new可以对分配给变量的存储空间初始化,但不能初始化动态数组 分配内存失败时返回空指针 #include iostream.h main() { int *p; // 声明一个整型指针变量p p=new int; // 动态分配一个存放int型数据的 //内存空间,并将首地址赋给p *p=10; cout*p; delete p; //释放指针变量p指向的内存空间 return 0; } 例2.17 操作符new和delete的使用 #include iostream.h int main() { int *p; p = new int(99); if (!p) { cout allocation failure \n; return 1; } cout *p; delete p; return 0; } new运算符为简单变量分配内存的同时进行初始化 #include iostream.h int main() { double *s; s= new double[10] ; if (!s) { cour allocation failure\n; return 1; } for (int i = 1 ; i 10; i++) s[j] = 100.00+2*i; for( int i = 0

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档