欢迎来到天天文库
浏览记录
ID:34481954
大小:325.62 KB
页数:44页
时间:2019-03-06
《c程序设计第12章new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十二章C与C++第十二章C与C++12.1C转入C++时不需改变的内容 12.2C转入C++的一些与类无关的新特性12.3C++的核心新特性——类 12.4面向对象程序设计第十二章C与C++12.1C转入C++时不需改变的内容(1)各种数据类型变量的定义与使用,函数、数组、指针、文件等基本知识。 (2)许多有效的算法。 (3)程序的基本调试思想方法。 (4)程序设计中的自顶向下的总体思想:(5)程序段中具体的最小模块仍然由顺序、分支、循环三种基本模块组成。第十二章C与C++12.2C转入C++的一些与类无关的新特性12.2.1C转入C++时需改变的内容1.C++中不能再
2、作为标识符的关键字2.函数声明3.函数声明的形式 第十二章C与C++12.2.2C++中独有的与类无关的部分新特性1.局部变量说明语句的位置如:voidmain(){……/*程序的其它部分(包括执行语句)*/intcount=0;//变量count说明 while(++count<=100)//变量count使用 {……}……/*后续程序*/}第十二章C与C++2.注释符 C++中可以使用两种注释符(如上例),比C多一种注释符“//”,其功能是其后至行末为注释部分。程序中可灵活选用。第十二章C与C++3.范围分解符::C中,当全局变量和某函数内的局部变量同名时,该函数对全
3、局变量起屏蔽作用,即在该函数内无法访问此全局变量,而在C++中,只要在其前使用范围分解符即可访问同名的全局变量。例如:floatn;voidmain(){intn;n=5;//给局部变量n赋值 ::n=5.53;//给全局变量n赋值 ……}第十二章C与C++4.内联函数 内联函数的特性类似于宏。 C中,在定义了宏#defineABS(n)((n)<0?-(n):(n))之后,程序每调用一次宏ABS,替换宏名的字符串就展开并插入在调用处一次。C中的函数调用就不是这种展开方式,而是程序转入子函数执行,执行完后再返回主调函数,每个函数只有一段代码。在C++中,可以定义类似于宏的
4、内联函数,关键字是inline,如定义求绝对值的内联函数如下:inlineintAbs(intn){returnn<0?-n:n;}第十二章C与C++5.重载函数 C++中可以在同一程序中多次定义同名函数,只要各函数间的参数个数或类型不同,例如:intAbs(intn){returnn<0?-n:n;}floatAbs(floatn){returnn<0?-n:n;}第十二章C与C++在同一范围内定义同名函数称为重载函数。编译器根据函数调用时具体的实参的个数和类型自动调用匹配的重载函数版本。例如:intAbs(intn);floatAbs(floatn);voidmain
5、(){inti;floatf;i=Abs(5);//调整型的求绝对值函数 f=Abs(-2.5);//调实型的求绝对值函数 ……}第十二章C与C++6.new和delete操作符以下为动态开辟内存块的例子:structnode{char*name;intsalary;node*next;}; char*pchar;//定义三种类型的指针变量int*pint;structnode*pnode;第十二章C与C++pchar=newchar;//开辟了三块内存区 pint=newint;pnode=newnode;*pchar=′a′;//为内存单元赋值 *pint=6;pno
6、de->name="hello";pnode->salary=1000;第十二章C与C++12.3C++的核心新特性——类12.3.1类以下是一个有关“人”的类的定义classCHuman//class——类定义关键字{charname[20];//类的数据成员 intage; voidGetInfo()//类的成员函数 {……}voidOutInfo(){……}};第十二章C与C++12.3.2类实例类的定义格式与结构体类型定义格式类似,其含义也类似,均是定义了一种新的数据类型,要作为程序处理的对象。对于结构体类型,接着要定义结构体型变量以便在程序中引用(如第九章中的s
7、tructstaffworker1,worker2;);对于类,则要生成类实例,又称为类对象。其地位如同变量。如在上述的CHuman类定义之后,语句: CHumanhuman;(类名前不需加关键字class)就生成了类CHuman的实例human,即为类对象human分配了一块可以存放数据和对数据进行处理的程序代码的内存块,又称为类的实例化。第十二章C与C++和内部变量一样,类对象在定义范围内有效(如在函数内定义的类对象,在函数返回时销毁)。一个类可以生成多个实例。也可以用C++的new操作符生成类的实例如下:CHuman*P
此文档下载收益归作者所有