


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+期末复习提纲第 8 章1.类和简单对象类的定义格式。两类成员和三种权限。(在程序结果分析题中,会有各种类的定义,包含说明,需要掌握类的定义格式,能看懂构造函数、析构函数、普通函数、实现在类体内还是体外;两类成员分别是数据成员和成员函数。三种权限是针对类中成员(数据成员和成员函数)的,为公有、私有和保护对象定义方法和对象成员表示方法。(在程序结果分析题目中定义了很多对象,同学需要掌握如何定义对象,能看懂对对象的定义和成员表示)构造函数和析构函数的功能、种类、特点。成员函数的特征:重载、内联、设置参数默认值。.静态成员种类、特点、用法。:属于整个类而不是某个对象,用类名限定来态数
2、据成员的初始化方法。静6.7.常成员(常数据成员和常成员函数)的特点和用法:掌握常数据成员的初始化方法函数的特点及用法。员。函数是不属于类的普通函数,可以类中的各种成8.对象的类:自动类、静态类、外部类。第 9 章1.复杂对象各种对象的定义(或说明)、赋值及其使用(做函数参数)。(1)(2)(3)(4)(5)(6)(7)(8)一般对象对象指针:指对象对象数组象的指针对象指针数组:数组中的每个元素都是指常对象子对象:作为一个类的数据成员的对象象的指针堆对象:用 new 创建,delete的对象2. 类型转换(一般数据类型转换为类类型和类类型转换为一般数据类型)在类型转换中,由一般类型转换为类类型
3、使用带一个参数的构造函数,由类类型转换为一般类型使用是类型转换函数第 10 章1.继承性和派生类类:私有成员和保护成员可以被类直接(类中的成员函数),但是不能被类的对象直接;公有成员可以被类和类的对象直接2.派生类中继承的基类中的成员的基类中私有成员派生类不可直接权限。公有继承方式下,基类中公有成员和保护成员在派生类中仍然是公有的和保护的。私有继承方式下,基类中公有成员和保护成员在派生类中都是私有的。保护继承方式下,基类中公有成员和保护成员在派生类中都是保护的。单继承中派生类构造函数和析构函数的特点。派生类的构造函数中显式或隐含的包含着直接基类的构造函数。显式包含的带参数的构造函数放在成员初始
4、化列表中。派生类的析构函数中隐含的包含着直接基类的析构函数。2.3. 赋值兼容规则。在公有继承方式下,派生类是基类的子类型,于是遵循如下规则:派生类的对象可以给基类对象赋值。派生类的对象可以给基类对象的初始化。派生类的对象的地址可以给基类对象指针赋值。总结:在某些情况下,不同类的对象也可以相互赋值第 11 章 多态性和虚函数运算符重载的概念和两种常用方式(成员函数方式和静态联编和动态联编函数方式)。静态联编是在编译时进行的,动态联编是在运行时进行的。虚函数是实现动态联编的重要条件。虚函数是非静态的成员函数。使用关键字virtual 说明。动态联编的条件还有公有继承和适当的调用虚函数的方式。使用
5、对象和对象指针调用实现动态联编,而使用对象调用实现静态联编; 使用成员函数调用虚函数实现动态联编,而使用构造函数调用虚函数实现静态联编。3. 纯虚函数和抽象类没有具体实现的虚函数称为纯虚函数。含有纯虚函数的类称为抽象类。抽象类不能定义对象,可以定义对象指针。抽象类作为根基类。和对象第 12 章1.2.C+的 I/O 流类库输出(写)和输入(读)操作。格式输出。利用控制符进行格式输出下列操作子的功能:hex,dex,oct,setfill(*),setw(20),setpreci磁盘文件操作()。3.(1)(2)(3)打开文件和关闭文件操作文本文件读/写操作二进制文件读/写操作结合例题熟悉掌握上
6、述的概念和方法。通过作业进一步巩固学过的知识。例 1. 分析输出结果 程序内容如下: #include #include class Apublic:A(i=0)/带有一个参数的构造函数,定义在类体内a=i+b;void Pr();/定义在类体外的成员函数A()/定义在类体内的析构函数coutDestructorn;private:a;sicb;/静态数据成员;void A:Pr()/类体外定义的成员函数cout(a,b)endl;A:b=5;void main()A array3;/静态教据成员的初始化/定义类 A 的对象数组,一维的,3 个元素array0=A(1);/给数组元素赋值,使用
7、一个可以调用构造函数生成临时对象的/式子array1=A(3);A *parr3;/定义类 A 的对象指针数组,一组的,3 个元素for(i=0;i3;i+)parri=&arrayi;/使用 for 循环给对象指针数组的 3 个元素赋值for(i=0;iPr();/使用 for 循环输出对象指针数组的 3 个元素所指向的值运行该程序输出结果如下:Destructor Destructor (6,5)(8,5)(5,5)DestructorDestructor Destructor/临时对象/数组元素例 2 分析输出结果 #include #include class Bpublic:B()/
8、默认构造函数strcpy(name,);b=0;coutDefault constructor called.n;B(char *s,double d)strcpy(name,s); b=d;/带两个参数的构造函数coutConstructor called.n;B()/析构函数coutDestructor endl;void GetB(char *s,double &d)strcpy(s,name); d=b;private:char name20;doub;void main()B *pb; double d; char s20;pb=new B4;/定义对象指针/创
9、建堆(动态)对象数组,需要调用 4 次默认构造函数。/给对象数组元素赋值,需要调用两个参数的构造函数创建pb0=B(Ma,3.5);临时对象,完成赋值后,临时对象被。pb1=B(Hu,5.8);pb2=B(,7.2);pb3=B(Li,9.4);for(i=0;i4;i+)pbi.GetB(s,d); couts,dendl;delete pb;/对象数组运行该程序输出结果如下:例 3. 分析输出结果 #include class Apublic:A()a=0;/默认构造函数/一个参数构造函数/析构函数A(i)a=i;A()coutIn A.n; void Pr()couta,; privat
10、e:a;class B:public Apublic:B()/公有继承/该构造函数中隐含包含直接基类的默认构造函数B(B(b1=b2=0;i)/该构造函数中隐含包含直接基类的默认构造函数b1=0;b2=i;i,j,k):A(i),b1(j),b2(k)/派生类构造函数,带有成员初始化表,该表第一个初始化项是直接基类的带一个参数的构造函数。B()/该析构函数中隐含直接基类的析构函数coutIn B.n; void Pr()A:Pr();coutb1,b2,;private:b1,b2;class C:public Bpublic:C()/公有继承/该构造函数中隐含包含直接基类的默认构造函数C(C
11、(c=0;i)c=i; i,/该构造函数中隐含包含直接基类的默认构造函数j,k,l):B(i,j,k),c(l)/派生类构造函数,带有成员初始化表,该表第一个初始化项是直接基类的带 3 个参数的构造函数。C()/该析构函数中隐含直接基类的析构函数coutIn C.n; void Pr()B:Pr();coutcendl;private:c;void main()C c1;C c2(10);C c3(10,20,30,40);c1.Pr c2.Prc3.Pr();();();运行该程序后输出结果如下:例 4. 分析输出结果 #include class Apublic:A(i,j) a1=i;a
12、2=j; /构造函数virtual void Pr()couta1+a2endl; /虚函数protected:a1,a2;/保护成员;class B:public Apublic:/公有继承B(i,j):A(i,j) void Pr() couta1-a2endl; /虚函数;class C:public Bpublic:C(i,j):B(i,j) void Pr() couta1*a2endl; /虚函数;void main()i(3),j(5);A a(i,j);B b(i,j);C c(i,j);/创建 A 类对象/创建 B 类对象/创建 C 类对象A *s3=&a,&b,&c;/对象指针数组for(k=0;kPr A &ra=c; ra.Pr();A aa=c;aa.Pr();();/动态联编/定义 A 类的对象/动态联编/定义 A 类的对象/静态联编该程序的运行结果如下:例 5. 分析输出结果 #include #include #include void main()fstream f; f.open(my1.dat,ios:out|ios:in);/打开文件 my1.dat,打开方式可读可写。if(!f)/判断文件打开是否成功coutCant open file!n;abort(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025天津市建筑安全员C证考试(专职安全员)题库及答案
- 2025年第一季度度殡葬礼仪流程语义分析合约
- 特许另类投资中的绩效衡量方法试题及答案
- 地图阅读技巧强化训练试题及答案
- 2025年-辽宁省安全员B证考试题库附答案
- 提高纺织图案中曲线纹理质量
- 2024年基金从业考试多维分析试题及答案
- 2024年计算机二级考试应试试题及答案
- 企业问题解决的试题及答案
- 电信行业客户信息保护措施方案
- 村医基药培训课件
- 城镇燃气安全管理培训课件
- 三踝骨折护理查房课件
- 小学语法专项-be动词练习(含答案)
- 招标代理服务应急预案
- 霞浦县沙江水闸除险加固工程环境影响报告
- 智慧酒店数字智能化整体解决方案
- 技术通知单(新模版-0516)
- 餐饮从业人员晨检表
- US-52交流电机调速控制器
- 排球运动活动PPT
评论
0/150
提交评论