2017C期末总复习
《面向对象程序设计及C》总复习
第1章:面向对象程序设计及C语言概述
1、基本概念:
(1)面向对象的三个主要特性
(2)C源程序的扩展名:。cpp;编译后的目标文件的扩展名:。obj;链接后的可执行文件的扩展名为:。exe;程序总是从main()函数开始运行。
第2章:C语言对C语言的改进及扩展
1、基本概念:
(1)新的IO流对象:cin、cout。注意它们默认的输入、输出格式!
(2)使用作用域运算符(::)能在局部变量作用域内访问同名全局变量。(课后练习四3)
(3)new和delete动态分配和释放内存
(4)带默认参数值的函数
(4)内联函数(inline)的概念
(5)C中的异常处理:try(检查异常)、throw(抛出异常)、catch(捕捉异常)。
2、知识重点:
(1)const修饰符与指针
区别下列定义:
constcharnamechen指向常量的指针
charconstnamechen常指针
constcharconstnamechen指向常量的常指针
(课后练习一5)
(2)函数重载
特征:函数名相同,函数参数类型或个数(参数列表)不同。与函数返回类型无关。
练习:下列重载函数定义错误的是。
A。intprint(intx);B。intdisp(MyclassA);
voidprint(floatx);chardisp(MyclassA);
C。intshow(intx);D。intview(intx,inty);
intshow(chars);intview(intx);
(3)引用(变量的别名)
重点:引用的定义
引用、指针作为函数参数。
练习:
includeiostream。h
voids(inta,intb)
{intta;
ab;
bt;
}
voidmain()
{intx500,y1000;
s(x,y);
coutxyendl;}
该程序运行输出是:。
(课后练习四6)
第3章:类与对象
1、基本概念:
(1)类成员的访问属性有几种。
(2)构造函数、析构函数的定义和特点。
(3)this指针指向当前对象。
(4)对象作为函数参数的三种形式:传值(对象变量)、传地址(对象指针)、传名(引用)。
2、知识重点:
(1)构造函数与拷贝构造函数的使用
系统默认构造函数(无参数)
拷贝构造函数(参数通常为对象的常引用)
练习1:以下语句调用哪种构造函数:
classA;Aa;调用不带参数的构造函数
classA;ApnewA;调用不带参数的构造函数
classA;Aa,ba;a调用不带参数的构造函数
b调用拷贝构造函数
classA;Aa,b(a);同上
classA;Aa,b;ba;?
classA;voidfun(Ax);Aa;fun(a);
对象作为函数参数或返回值时会调用拷贝构造函数
(2)类的定义与使用
(例3。11、教材例3。13、课后练习四1,5)
(3)对象数组与指针的使用(教材例3。15)
(4)友元(友元函数、友元成员、友元类)
第4章:类中数据的共享与保护
知识重点:
(1)静态static数据成员
属于类的范畴,为同类对象所共享。
(课后练习三1,2)
第5章:类与类之间的关系
内容1:类的组合
(1)类对象作为成员(构造函数调用次序)
内容2:类的继承与派生
1、基本概念:
(1)基类成员在派生类中的访问属性
基类的private成员不能被继承
(2)赋值兼容规则
基类对象派生类对象;
基类对象指针派生类对象地址;
基类对象引用派生类对象;初始化
基类对象指针派生类对象指针;
(3)继承的理解(单一继承、多重继承、虚基类等)
2、知识重点:
(1)派生类的定义
(2)构造函数(析构函数)的执行次序
单一继承、多重继承、带虚基类的多重继承
虚基类非虚基类对象成员派生类自身
(教材例5。8,课后练习四1,2)
(3)继承中的同名问题
单继承中的同名问题(同名覆盖)
使用成员名限定法:基类名::
多重继承中的同名问题(二义性)
使用成员名限定法:类名::
使用虚基类:virtual
(实验二1)
练习1:
includeiostream。h
classA
{public:
intx;
A(inti){xi;}
voidShow(){coutA:xxendl;}
};
classB
{public:
inty;
B(inti){yi;}
voidShow(){coutB:yyendl;}
};
classC:publicA,publicB
{public:
inty;
C(inta,intb,intc):A(a1),B(b1){yc;}
voidShow(){coutC:yyendl;}
};
voidmain()
{Cc1(400,500,600);c1。y200;
c1。Show();
c1。A::Show();c1。B::Show();
}
该程序运行输出是:
第6章:多态性
1、基本概念:
(1)两种多态性
静态多态性,编译时多态性:函数(运算符)重载。
动态多态性,运行时多态性:继承、虚函数、基类指针。
(2)运算符重载
不能重载的运算符:。、。、::、sizeof、?:。
(3)虚函数、纯虚函数和抽象类
2、知识要点:
(1)运算符重载(成员函数、友员函数)
例如:classX;
Xoperator(Xa);成员函数,双目运算、、、
friendXoperator(Xa,Xb);友员函数,双目运算
Xoperator();成员函数,单目运算
friendXoperator(Xa);友员函数,单目运算
Xoperator()成员函数,前缀、
friendXoperator(Xa);友员函数,前缀、
Xoperator(int)成员函数,后缀、
friendXoperator(Xa,int);友员函数,后缀、
friendostreamoperator(ostreamout,constXobj);
友员函数,输出运算符
friendistreamoperator(istreamin,Xobj);
友员函数,输入运算符
(教材例6。8、实验三)
(2)虚函数的特点、虚函数的应用、抽象类
(教材例6。13,课后习题四2,实验三)
第7章:模板
1、知识要点:
(1)函数模板的定义和使用
(教材例7。2课后练习一1,2,3)
(2)类模板的定义和使用
第8章:C的IO流类库
1、知识要点:
(1)、运算符的重载
(教材例8。7)
(2)用get()、put()进行文件输入、输出
请问r55600u和i510200h处理器哪个好?请问r55600u和i510200h处理器哪个好?r55600u是AMD锐龙r5系列处理器,它的核数为6核,线程为12线程,智能缓存为16MB,基频为3。9GHz,单核睿……
OPPO首届全球创客大赛举办决赛赋能科技创新中关村在线消息:8月14日至15日,OPPO将在线上直播举办OPPO首届全球创客大赛决赛。经过了两个月时间、11组创客团队经过创新项目的征集和筛选,最终挺进决赛。本次决赛将以感……
三星对华为恢复供货?网传华为P50年底或将有5G版本在一片唱衰声和遗憾声中,推迟多月的华为P50系列终于面世。原本这是一款非常有希望成为爆款的高端机型,但因缺芯问题,华为P50全系列都不支持5G。有人嘲笑到:没了5G,这就是一部……
可自愈的钙钛矿太阳电池问世近期,中科院合肥研究院固体所能源材料与器件制造研究部胡林华研究员课题组与希腊、澳大利亚有关专家合作,成功实现了钙钛矿太阳电池自修复,相关成果发表在《能源化学》上。近年来,……
人工智能应用军事可还记得八国联军侵华,国外拿着先进的机械枪支大炮轮船进攻清朝海关,国民却拿着大刀和老式火枪同英美法联军作战,结果是惨败。国外拿火药造大炮火箭,历代王朝却在国内拿造烟花。人工智能……
全民必学!怎么使用数字人民币?不知道大家有没有发现,现在的微信和支付宝都已经进入数字人民币时代了。但是大家知道要怎么用吗?下面就教大家如何使用数字人民币。首先,我们下载打开数字人民币app,注册……
直播源码系统优化升级,全新直播体验直播源码因融合了图像、文字、声音等多种元素,受到大家的喜爱,逐渐成为互联网的主流表达方式。以强烈的现场感,吸引眼球,达成印象深刻、记忆持久的传播效果。如今是线上平台发展的……
买房时打出个人征信,因使用过花呗,被银行拒绝贷款,该怎么办?使用过花呗,没有逾期,正常还款,不会导致借贷人按揭房贷款办不下来的。具体什么原因,只有你自己心里面清楚,花呗当了替罪羊而已。有人拿贷款不还、借呗不还当能耐炫耀,当你准备贷……
三星智能手表停用TizenOS,但自家电视不会抛弃这一系统IT之家5月22日消息根据外媒SamMobile消息,三星于本周早些时候与谷歌共同宣布,三星Galaxy智能手表系列产品将抛弃三星自家的TizenOS,转而使用谷歌的WearO……
你认为人类最伟大的发明是什么?人类最伟大的发明应该是种粮,打猎,烧熟吃,织布穿衣吧,告别原始社会。战无不胜的毛泽东思想!电,一切革命的起点(文章原创)人类最伟大的发明是学会了设计建造……
除了中本聪以外,全球最大比特币持有者将诞生俄罗斯国防部将停止在基辅和切尔尼戈夫附近的军事活动,拿出了自己的诚意,为俄乌对话创造了好的开端,在昨晚的俄乌谈判后,俄罗斯代表团团长梅津斯基表示,总统普京和泽连斯基的会面可以和……
如何定位已关机的手机?已关机的手机定位是非常难的事,除非该机器关机前被篡改过,且SIM卡没被拔掉(并不是借助SIM定位位置,而是通过它和外界有连接,有连接才能把经纬度报上去),普通人很难做到,因为就……