《面向对象技术》期末复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象技术》期末复习资料
试卷题型说明:、填空题(10分)选择题(20道题40分)、判断题(10分)、简答题(3道16分)、写出程序运行结果(4道16分)、程序填空题(1道4分)编程题(1道4分)。
一~二、基础题(各章的编程实例不考)
1、第一章主要重点在1.2节,1.5节,其中1.6节最为重要。
1-2:面向对象程序语言的特征:抽象、封装、继承和多态。
1-5: 数值型数据的输入:读取时省略数据前的空白,如果遇到正负号或数字,就开始读数,包括浮点型数据的小数点,并在遇到空白符或其他非数字字符时停止。
1-5-4:输出格式控制符:
Setprecision(n)n代表输出的有效数位,包括整数的数位和小数的数位。
Setw(n) n代表输出的数据占有的列宽(域宽)
Setiosflags() / Resetiosflags()用于设置或取消输入或输出的各种格式包括改变数
制基数、设置浮点数的精度、转换字母的大小写、设置对齐方式等。
Ios::left / ios::right 左右对齐函数
用法:Setiosflags(Ios::left / ios::right) / Resetiosflags(Ios::left / ios::right) 1-5-5:hex十六进制输入时在其前加0x
oct 八进制输入时在其前加0
dec十进制
2、第二章主要重点为:
(1)指针的定义与使用(特殊指针类型不做为重点)
(2)引用的定义与使用注意事项
(3)类型转换有所涉及,但分值不是很大
(4)重点中的重点是2.7节函数部分,尤其是函数重载。
(5)内联函数与预处理器了解一下。
(6)作用域和生命期理解掌握,特点是变量类型与初始化。
2-3:指针用于存放一个对象在内存中的地址,同个指针能操作这个对象。具有两个属性:地址和长度,地址大小固定,与类型无关;长度则与指针类型相关
用法:int *pi; pi是指向int的指针
Int **pc;pc是指向指针的指针
Int *pa[10]; pa是指向指针的数组
Int (*f)(int,char); f是指向具有两个参数的函数的指针
Int *f(int) f是一个函数,返回一个指向int的指针2-3-3:堆内存也成动态内存。
New和delete两个运算符进行堆内存的分配与释放。
New用于从堆内存中分配指定大小的内存区域,并返回获得的内存区域的地址。
用法1:p=new type; 只分配内存
用法2:p=new type(x); 将分配到的内存初始化为X
用法3:p=new type[n]; 分配具有N个元素的数组
Delete用于释放new分配的内存
用法1: delete p; 用于释放动态分配的单个指针变量
用法2: delete []p; 用于释放动态分配的数组储存区域
2-4:引用是某个对象(即变量)的别名。
使用时的注意事项:
1、引用符&在类型和引用名之间灵活
Int& ir=i ; int & ir=i ; int &it=i ; 用法相等
2、在变量声明时出现的&才是引用运算符,其他地方出现的都是地址操作符。
3、引用必须在定义时初始化。
4、引用实际是一种隐式指针。
5、当用&运算符获取一个引用的地址是,实际取出的是引用对应的变量的地址。
6、建立引用时注意:1、不能建立引用的引用;2、不能建立引用数组;3、不能
建立引用数组;4、可以建立指针的引用,但不能创建指向引用的指针。
7、引用与左值。
2-6-2:显示类型转换:把一种数据类型强制转换,也称为强制转换。(type) exp 2-7:函数重载:是允许在一个程序中(一个作用域内)定义多个同名函数,这些同名函数可以有不同的返回类型、参数类型、参数各类、及不同的函数功能。
1、精确匹配
2、提升匹配
3、标准转换匹配
4、用户定义的类型转换。
重载函数必须在参数类型,或参数个数,或参数顺序方面有所不同才是正确的。
3、第三章:
(1)静态成员、this指针、友元涉及的内容不太多,分值在4分左右
(2)其他节都很重要,尤其是构造函数与析构函数,以及3.9节~3.11节。
3-1:类1、声明中的访问限定符没有先后之分。2.出现的次数没有限制。3、数据成员、成员函数都将可以设置。4、在声明或定义类时,不能为数据额成员赋值。5、class与struct的区别是,struck中的成员具有public权限,而class中的成员则具有private权限。
3-2-1:成员函数的定义:r_type class_name::f_Name(T1 p1,T2 p2,)
r_type是成员函数的返回类型,class_name是类名,::是域限定符,用于说明f_Name 是class_name的成员函数,f_Name是成员函数名,T1、T2是参数类型,p1、p2是形式参数。
3-2-2常量成员函数: T f(T1,T2,….) const;
3-3:类具有封装性。
3-4-1:对象:是实际存在的个体。对象的定义形式:类名对象1,对象2;
3-4-2:对象的引用必须用成员访问限定符“.”
例如对象名.数据成员名对象名.成员函数名
对象指针“—>”
3-5:构造函数(constructor)是鱼类同名的特殊成员函数,主要用来初始化对象的数据成员。定义形式:class X{…X(…);…} X是类名X(…)就是构造函数默认构造函数是一个无参数的构造函数,负责对象的创建和初始化。如果创建的是全局对象或静态对象,则默认构造函数将对象的位模式全部设置为0.
3-6:析构函数:作用于构造函数相反,用于生命期结束时,完成对象的清理工作。析构函数的名字由“~”+“类名”构成。Class X{ …public:~X();…};
在类外:X::X(){…} 。一个类只能有一个析构函数。
先构造的后析构、后构造的先析构
3-7:静态成员:在数据成员或成员函数的声明或定义前面加上关键字static,就将他定义成静态数据成员或静态成员函数。