《面向对象技术》期末复习资料

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,就将他定义成静态数据成员或静态成员函数。

相关文档
最新文档