《面向对象程序设计》复习提纲(121302)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》复习提纲
(2012计科)
一、考试方式
笔试(闭卷)
(总评成绩=平时成绩×40%+期末成绩×60%)
平时成绩共8次,每次5分
教务处规定,期末成绩50分以下,不考虑平时成绩
二、题型
单选题(每小题2分,共20分)
填空题(每空1分,共10分)
简答题(每小题5分,共20分)
写程序结果(每小题5分,共30分)
设计与分析题(3小题,共20分)
三、注意
题量比较大,少数位置有陷阱,最后一题比较难,认真复习
..
....,考试时抓紧
时间
....。
..,注意细节
四、各章知识点
1、C++的初步知识(15’)
⏹函数
✓C++程序由函数驱动,主函数、普通函数、主调函数、被调函数等概念及其关系;
✓函数的定义、调用、声明(原型)的写法;理解函数调用机制
✓理解函数间数据联系的渠道(参数、返回值、全局变量)
✓C++特有函数
●inline内联函数的思想
●重载的概念、分类、区分依据、解析次序(结合第4章)
●带参数默认值的函数的写法,默认参数的定义次序
●模板的概念、分类,函数模板的写法,类模板的写法(结合第3
章)
⏹标准名字空间的用法(using namespace std)
⏹输入输出
✓C语言中常用输入输出函数的用法(getchar、putchar、gets、puts、scanf、printf)
✓标准输入输出流类iostream,标准输入流对象cin、标准输出流对象cout、流插入运算符<<、流提取运算符>>的基本概念及用法;输入输出流中常
用控制符的使用(setw、iomanip头文件)
⏹const定义常变量,必须初始化
⏹引用与指针
✓引用的概念、声明方法(必须初始化、引用常量)、使用方法、传引用(双向传递)、用const修饰引用(常量引用常量)
✓用const修饰指针(常量指针、指针常量、常量指针常量)
✓理解用引用代替指针的好处
⏹作用域与生命期
✓作用域(五种)、可见性、::运算符的两种用法、支配(覆盖)规则
✓生命期(三种)、理解静态局部变量、静态全局变量
✓new和delete对堆区操作的基本用法
⏹string类、字符串对象的概念(区分cstring、string.h和string)
⏹C++程序的上机步骤(编辑cpp、编译obj、连接exe、运行)
2、类和对象(5’)
⏹面向对象程序设计的三大特点:封装、继承和多态性
⏹理解用class和struct声明类的异同
⏹类中的两种成员,三种访问权限控制符的区别
⏹类的声明和成员函数定义的规范写法
⏹对象的存储结构
⏹this指针的概念及用法
3、关于类和对象的进一步讨论(40’)
⏹类中的四个特殊成员函数
✓构造函数
●概念、作用、声明及定义方法(成员初始化列表)、调用时机
●特点:无参构造函数(缺省构造函数)、带参构造函数、构造函数
重载、构造函数带参数默认值、无名、无返回值
✓析构函数
●概念、作用、声明及定义方法、调用时机
●特点:无名、无参、无返回值
●执行次序(与构造函数严格相反)
✓拷贝构造函数
●概念、作用、声明及定义方法、调用时机
●特点:无名、有参、无返回值
●缺省拷贝构造函数、深拷贝与浅拷贝
✓拷贝赋值操作
●概念、作用、声明及定义方法、调用时机(区别于拷贝构造函数)
●特点:有名、有参、有返回值
●缺省拷贝赋值操作、深拷贝与浅拷贝
⏹对象数组的概念(会导致多次调用该类的构造函数)
⏹对象指针的概念(不会导致调用该类的构造函数)、大小
⏹const修饰对象或成员(常对象、常量数据成员、常量成员函数)的概念、
用法;常量与非常量成员函数可以形成重载;理解数据保护
⏹static修饰成员(静态数据成员、静态成员函数)的概念、用法
⏹友元的概念、分类、用法、好处及弊端
⏹类模板的概念、写法(结合第1章)
4、运算符重载(10’)
⏹理解运算符重载的概念、规则及特殊情况
✓运算符重载函数的三种实现形式:普通函数、成员函数和友元函数
✓双目运算法一般重载为友元函数、单目运算符一般重载为成员函数
✓极少数时候重载成普通函数
✓<<、>>只能重载为友元函数;( )、[]只能重载为成员函数
✓熟练掌握常用运算符重载函数的写法(+、++、=、<、>、<<、>>)⏹类型转换
✓C语言中强制类型转换和自动类型转换
✓转换构造函数的概念、作用及用法
●隐式调用将产生临时对象
●显式调用将产生无名对象
✓强制类型转换运算符重载函数的概念、作用及用法(隐式调用和显式调用都将产生临时变量,而原对象的类型未变)
⏹了解临时变量、临时对象、无名对象的概念、作用域及特殊情况(临时变量
或临时对象初始化const引用时,作用域被扩展)
5、继承与派生(15’)
⏹继承的概念、意义及分类
✓单继承
●派生类的声明方法
●三种不同的声明方式的区别(基类成员在派生类中访问权限的变
化)
●派生类对象的组成(三部分),各部分成员初始化的分工及执行次
序
●派生类的构造函数、析构函数、拷贝构造函数的写法(特殊情况)
✓多重继承
●二义性问题
●虚基类(虚拟继承)的概念、写法及意义
●虚拟继承时,派生类对象的大小(虚基类表指针)
●最派生类的概念、写法及意义
⏹子类型的概念、用法及特点(单向、不可逆,有助于实现多态性)
⏹继承与组合
✓继承是垂直的,组合(即聚集)是水平的
✓二者都是为了在某种程度上实现软件复用,即共享