自考04737C++程序设计密训高频考点重点汇总.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《自考04737C++程序设计密训高频考点重点汇总.docx》由用户(李老师yy)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 04737 C+ 程序设计 高频 考点 重点 汇总
- 资源描述:
-
1、 目录第一章 C+语言简介.1第二章 面向对象的基本概念.3第三章 类和对象进阶.4第四章 运算符重载.6第五章 类的继承与派生.7第六章 多态与虚函数.9第七章 输入/输出流.10第八章 文件操作.11第九章 函数模板与类模板.12 第一章 C+语言简介内容知识点名称C+语言的发展简史1.C语言是C+语言的前身,在进一步扩充和完善C语言的基础上得到了C+语言。用C+语言写成的程序称为源程序,源程序必须经过 C+编译程序翻译成机器语言才能执行。一般需要经过编辑、编译、连接、运行。2.1.与C语言相比,C+语言的优点:C+语言的特点(1) 从程序运行的稳定性来说,C+语言更安全,它支持过程化编程
2、、面向对象编程和泛型编程。(2) C+语言可运行于多种平台上,如Windows、MAC操作系统及UNIX的多种版本。(3) C+语言中加入了面向对象的概念,C+的程序结构与C语言的程序结构存在很大差别。1.C+类中对象:(1) cin:运算符为,用于键盘输入。函数scanf();输入流类istream(2) cout:运算符为,用于屏幕输出。函数printf();输出流类ostream基本的输入/输出2.3.4.5.1.流提取运算符和流插入运算符都是由两个连续的符号组成的,中间不能有其他符号。%c是输岀单个字符的格式控制符。%s是输出字符串的格式控制符。当使用当程序中用到cin和cout时,需
3、要在程序中包含头文件。语句以分号“;”结尾。常用的头文件有以下一些:(1)标准输入输出流:。(2)标准文件流:。(3)标准字符串处理函数:。头文件和命名空间(4)标准数学函数:。程序员还可以定义自己的头文件,并在程序中使用 #include指令将其包含进来。通常,使用尖括号括住系统提供的头文件,使用双引号括住程序员自己定义的头文件。2.using语句引用其他命名空间的标识符的语法格式有两种形式:(1)using 命名空间名:标识符;(2)usingnamespace 命名空间名;1.数据类型级别由低到高分别为:charintfloatdouble。当不同类型的量进行混合算术运算时,系统自动进行
4、合理的类型转换。编译器就会自动把低级类型向高级类型转换。使用强制类型转换运算符static_cast或是const_cast进行转换。强制类型转换运算符2.(1) static_cast将一种数据类型转换成另一种数据类型,格式:static_cast(表达式)static_cast也可以省略。(2) const_cast去除指针和引用的常量性,但不能去除变量的常量性。:const_cast(表达式)1.C+语言规定,提供默认值时必须按从右至左的顺序提供,即有默认值的形参必须在形参列表的最后。如果有某个形参没有默认值,则它左侧的所有形参都不能有默认值。函数参数的默认值2.调用函数时,主调函数的实
5、参与被调函数的形参按从左至右的顺序进行匹配对应。如果实参的个数与形参的个数相等,则它们一一对应。如果实参的个数m少于形参的个数n,则函数原型形参表中最前面的m个形参与m个实参相对应,后面的n-m个形参则使用默认值进行初始化。1/13 3.无返回值函数:没有返回值的return语句只能用在返回类型是void的函数中。有返回值函数: return语句的第二种形式提供了函数的结果。 只要函数的返回类型不是void,则该函数内的每条return语句必须返回一个值。1. 引用相当于给变量起了一个别名。定义格式:类型名 &引用名=同类型的某变量名;2. 在C+中,函数调用时参数的传递有两种方式:传值和传引
6、用。(1) 传值:实际上是传递对象的值。即将实参的值拷贝给形参。在函数执行过程中,都是对这个拷贝进行操作的,函数执行完毕返回后,形参的值并不拷贝回实参,也就是说函数内部对形参的改变不会影响到函数外实参的值。引用和函数参数的传递(2) 传引用:传递对象的首地址值。函数调用时,实参对象名传递给形参对象名,形参对象名就成为实参对象名的别名,即形参是对应实参的引用,它们是等价的,代表同一个对象,也可以看作是将实参的地址传递给了形参。1.C+语言也可以使用const限定访问权限,const修饰指针变量时,基本含义如下:(1) 如果唯一的const位于符号*的左侧,表示指针所指数据是常量,数据不能通过本指
7、针改变,但可以通过其他方式进行修改;指针本身是变量,可以指向其他的内存单元。const与指 (2) 如果唯一的const位于符号*的右侧,表示指针本身是常量,不能让该指针指向其他内存地址;指针共同使用针所指的数据可以通过本指针进行修改。(3) 在符号*的左右各有一个const时,表示指针和指针所指数据都是常量,既不能让指针指向其他地址,也不能通过指针修改所指向的内容。【助记:可以简单地记住const的修饰规则:const修饰其左侧的内容;如果const是本行的第一个标识符,则它修饰其右侧的内容。】1.引入了内联函数的目的:加快执行速度。定义内联函数时只需在函数头返回值类型的前面加上关键字inl
8、ine。内联函数2.3.内联函数的适用情况:只有几条语句,且频繁调用的小函数。在C+中,除具有循环语句、switch语句的函数不能说明为内联函数外,其他函数都可以说明为内联函数。1.函数重载:是指在程序的同一范围内声明几个功能类似的同名函数。即前提是函数名相同。可提高代码可读性。函数的重载函数重载可使一个函数名具有多种功能,即具有“多种形态”,称这种特性为多态性。2.实现函数的重载必须满足下列条件之一:(1)参数表中对应的参数类型不同。(2)参数表中参数个数不同。1.指针变量中保存的是一个地址,有时也称指针指向一个地址。使用new运算符动态申请的内存空间,需要在使用完毕释放。C+提供了 del
9、ete运算符,用来释放动态分配的内存空间。2.指针和动态内存分配(1)使用new运算符实现动态内存分配。p=newT; 其中,T是任意类型名,p是类型为T*的指针。(2)使用new运算符还可以动态分配一个任意大小的数组:p=newTN; 其中,T是任意类型名,p是类型为T*的指针,N代表数组“元素个数”,可以是任何的值为正整数的表达式。(3)C+提供了delete运算符,用来释放动态分配的内存空间,基本用法:delete指针。2/13 3.4.1.当delete释放动态对象数组时,实现为deleteptr;。数组的下标从0开始,含n个元素的数组的下标范围是从0n-1。字符常量:用单引号括起来的
10、单个字符或转义字符。字符串常量:用双引号括起来。大小写字母ASCII码差32。2.3.string类中的常用成员函数用string对象(1) intsize()const;返回当前字符串的大小返回当前字符串的长度(2) intlength()const;处理字符串(3) boolempty()const; 判定当前字符串是否为空(4) find();返回str在字符串中第一次出现的位置,如果没找到则返回-1(5) insert();(6) append();(7) substr();在p位置插入字符串S将字符串s连接到当前字符串的结尾处返回从pos开始的n个字符组成的字符串1.程序中必须有且仅
11、有一个主函数main(),这是程序执行的总入口。C+程序中,仍沿用C语言的注释风格,即注释有以下两种形式。C+语言的程序结构2.(1) 从/*开始,到*/结束,这之间的所有内容都视作注释。(2) 从/直到行尾,都是注释。第二章 面向对象的基本概念知识点名称结构化程序设计内容1.在编写程序时,使用3种基本控制结构来构造程序:顺序、选择、循环基本控制结构。1.对象是类的一个实例。对象是类的一个具象,类是对象的一个抽象。面向对象技术把问题看成是相互作用的事物的集合,也就是对象的集合。对象特性:一是状态(也称为属性);二是行为(也称为操作)。状态是指对象本身的信息,也称为属性;行为是对对象的操作。2.
12、3.面向对象思想的提出4.1.通过对事物的抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),从而得到类的概念。抽象:在面向对象的程序设计方法中,将同一类事物的共同特点概括出来。对象的特点包括两个方面:属性和操作。C+中使用对象名、属性和操作三要素来描述对象。封装:将对象的属性及实现细节隐藏起来,只给出如何使用的信息。将数据成员使用 private关键字定义,则产生封装性。面向对象程序设计的特点2.3.继承就是在编写一个“新”类的时候,以现有的类作为基础,使得新类从现有的类“派生”而来,从而达到代码扩充和代码复用的目的。原来的类是基类,也称为父类或超类。新类是派生类,也称为子类。4.1
13、.多态是指不同种类的对象都具有名称相同的行为,而具体行为的实现方式却有所不同。标识符命名规则:字母、数字和下划线的组合,大小写敏感,但不能以数字开头,也不能和系统中使用的关键字完全相同。类的定义3/13 2.3.类中定义的数据和函数称为这个类的成员(数据成员和成员函数)。类体外函数定义的前面必须用“类名:”来限定,格式如下:返回值类型 类名:成员函数名(参数列表)成员函数的函数体1.2.3.4.1.h文件是头文件。程序结构.cpp文件是源程序文件;C源程序文件编译而成的目标文件的扩展名是.obj。可执行代码的文件扩展名为.exe。使用“类名 *对象指针名 =new 类名;”创建对象时,调用无参
14、的构造函数。如果这个构造函数是由编译器为类提供的,则类中成员变量不进行初始化。创建类对象的基本形式2.使用“类名 *对象指针名 =new 类名();”创建对象时,也调用无参的构造函数。如果这个构造函数是由编译器为类提供的,则对类中的成员变量进行初始化。使用对象:如果变量a为结构体对象,且结构体内有元素b,那么可以使用a.b的方式访问元素。使用指针:如果变量a为结构体指针,且结构体内有元素b,那么可以使用a-b的方式访问元素。1.访问对象的成员2.3.1.使用引用:访问成员时仍使用点操作符,即“引用名.成员名”。private 私有的使用它修饰的类的成员仅能在本类内被访问。(默认)public
15、公有的 使用它修饰的类的成员可以在程序的任何地方被访问。protected 保护的 它的作用介于public与private之间,使用它修饰的类的成员能在本类内及子类中被访问。访问范围说明符的含义2.3.1.函数原型作用域:在声明函数原型时形参的作用范围就是函数原型作用域,最小的作用域。局部作用域:程序中使用相匹配的一对大括号括起来的一段程序称为块。作用域局限在块内的称为局部作用域。2.标识符的作用域与可见性3.4.类作用域:类可以被看成是一组有名字的成员的集合,类X的成员m具有类作用域,对m的访问方式有如下3种:(1)直接访问成员m。(2)在类外,通过表达式x.m或者X:m来访问(3)在类外
16、,可以通过ptr-m表达式来访问。命名空间作用域:在命名空间内部可以直接引用当前命名空间中声明的标识符,如果需要引用其他命名空间的标识符,需要使用下面的方式:命名空间名:标识符名第三章 类和对象进阶知识点名称内容1.对于C+中基本数据类型的变量,可以声明全局变量和函数内部的局部变量。构造函数的作用(1) 全局变量:如果没有进行初始化,则系统自动为其初始化为0。这个工作在程序启动时完成。(2) 局部变量:系统不进行自动初始化,如果程序员没有设定,则是一个随机值。2.构造函数的作用:完成对象的初始化工作(即创建对象)。构造函数是类中的特殊成员函数,它4/13 属于类的一部分。3.1.声明对象后,可
17、以使用new运算符为对象进行初始化,此时调用的是对象所属类的构造函数。构造函数的函数名与类名相同,没有返回值。一个类的构造函数可以有多个,即构造函数允许重载。即这些构造函数之间的关系是重载关系。2.3.当类中没有定义任何构造函数时,系统会自动添加一个参数表为空、函数体也为空的构造函数,称为默认构造函数。定义构造函数的形式:构造函数的定义类名:类名(形参1,形参2,形参n)x1=形参1;x2=形参2;xn=形参n;1.如果程序中声明了对象数组,即数组的每个元素都是一个对象。创建对象时,调用一次构造函数。构造函数的使用2.3.4.对于指针,仅是说明了这个指针,并未与对象相关,所以并不调用构造函数。
18、如果构造函数的定义中给出了参数的默认值,那么使用构造函数创建对象时,对应的实参是可以省略的。此时,使用默认值当作对应实参的值。复制构造函数是构造函数的一种,也称为拷贝构造函数。它的作用是使用一个已存在的对象去初始化另一个正在创建的对象。1.复制2.3.复制构造函数只有一个参数,参数类型是本类的引用。即引用类自己。对于类A而言,复制构造函数的原型如下:构造函数(格式一):A:A(constA&)(格式二):A:A(A&)1.与构造函数一样,析构函数也是成员函数的一种,它的名字也与类名相同,但要在类名前面加一个“”字符,以区别于构造函数。析构函数2.析构函数的特点:没有参数,也没有返回值。析构函数
19、不可以多于一个,不会有重载的析构函数。默认析构函数的函数体为空。一个类中有且仅有一个析构函数。创建对象时自动调用构造函数,在对象消亡时自动调用析构函数。static用来声明静态变量。3.1.静态变量2.3.局部变量:块内定义的变量,从定义之处开始到本块结束处为止是局部变量的作用域。全局变量:指在所有花括号之外声明的变量,其作用域范围是全局可见的,即在整个项目文件内都有效。1.类的静态成员有两种:静态成员变量和静态成员函数。类的2.3.给静态成员变量赋初值的格式:类型 类名:静态成员变量=初值;访问类静态成员格式:(1)类名:静态成员名(2)对象名.静态成员名(3)对象指针-静态成静态成员员名5
展开阅读全文