




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
+ 面向对象程序设计复习资料一、概念、填空题1. 面向对象的四大特性是:抽象、封装、继承、多态2. 构造函数的作用是创建对象时为对象赋初值,析构函数的作用是释放对象占用的资源3. 根据继承的基类的多少,C+将继承分为: 单继承和 对继承4. C+进行动态内存分配的一对运算符是new和delete5. 抽象类、纯虚函数:.P153纯虚函数是一个在基类中说明的虚函数,它在该类基类中没有定义,但要求在它的派生类中必须定义自己的版本,或重新说明为纯虚函数。如果一个类至少有一个纯虚函数,那么就称该类为抽象类。6. 对象拷贝有两种方式:浅拷贝和 深拷贝7. 变量的生存期分为:动态生存期和 静态生存期8. C+里的逻辑值:非0表示真,0表示假9. C+里函数参数传递方式有:值传递、地址传递和引用传递(P35例2-13程序1程序2程序3)10. 静态成员变量属于类,所有的对象共享。.静态成员变量的使用11. 根据访问控制,C+将继承分为:公有继承、私有继承和保护继承12. 用const修饰的对象,其意思是:对象的状态不能被修改13. 拷贝构造函数被调用的场合有3种,分别是:用对象作参数构造对象时、为函数实参对象赋值时、函数返回对象时14. C+里的模版包括:函数模版和类模版15. 命名空间及其作用 名字空间就是一个由程序设计者命名的内存区域,名字空间的作用类似于操作系统中的目录和文件的关系。名字空间建立了一些相互分隔的作用域,把全局标识符分隔开,避免产生名字冲突。(P48)16. 类的访问属性包括:公有、私有、继承17. 虚基类的作用 P124 如果一个派生类有多个直接基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类成员的多份同名成员。但由于保留共同基类的多份成员,不仅占用较多的存储空间,还增加了访问这些成天元时的困难,容易出错。C+提供了虚基类的方法,使得在继承间接共同基类时只保留其一份成员。18. 多态及其分类P145 多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。 参数多态,包含多态,重载多态,强制多态,前两种称为通用多态,后两种称为专用多态19. 虚函数与重载函数的比较 .P153(1)函数重载处理的是同一层次上的同名函数问题,而虚函数处理的是同一类族中不同派生层次上的同名函数问题,前者是横向重载,后者可以理解为纵向重载。但与重载不同的是:同一类族的虚函数的首部是相同的,而函数重载时函数的首部是不同的。 (2)重载函数可以是成员函数或普通函数,而虚函数只能是成员函数。 (3)重载函数调用是以所传递参数序列的差别作为调用不同函数的依据;虚函数是根据对象的不同去调用不同类的虚函数。 (4)虚函数在运行时表现出多态功能,这是C+精髓,而重载函数则在编译时表现出多态性。20, 一个类的函数是否是虚函数的条件是:.P151 判断该函数与基类的虚函数有相同的名称;该函数与基类的虚函数有相同的参数个数及相同的对应参数类型;该函数与基类的虚函数有相同的返回类型或者满足赋值兼容规则的指针、引用型的返回函数。21, cin cout 22, 根据文件中数据的组织 ,文件分为ascII文件和二进制文件23, 强制类型转换:(int)3.5 int(3.5)24, 内联函数inline P62 该方法的思想是在编译时将调用函数的代码直接嵌入到调用函数处。INLINE函数的机制兼顾了函数和效率两个方面的有点。二、看程序结果1、 以下程序的结果是_5,7 5,10 5,7_(全局变量与局部变量问题)viod myfunction( )int y=10; coutx“,”yendl; int x=5 ,y=7 ;int main( ) coutx“,”yendl;myfunction( );coutx“,”yendl; 2、以下程序的结果是_2,12 2,14_(静态变量应用)int ret(int a) static int c=10; a=a+c; c=a; return c; int main() int a=2;for(int i=0; i2; i+) couta”, ” ret(a)endl; 3、以下程序的结果是_3_(指针)int main( ) int a=2 ; Int *b=&a ; a=3 ; cout*b ; 4、以下程序的结果是_3_(引用)int main( ) int a=2 ; int &b=a ; a=3 ; coutb ; 5、以下程序的结果是_(参数传递)int main( ) int x(3) , y(8); Swap(x , y) ; cout“x=“x“ y=”yendl; void Swap(int &a ,int &b) int t ; t=a;a=b; b=t; 6、以下程序的结果是_(参数传递)int main( ) int x(3) , y(8); Swap(&x , & y) ; cout“x=“x“ y=”yendl; void Swap(int * a ,int * b) int t ; t=*a;*a=*b; *b=t; 7、以下程序的结果是_4_(引用)int main( ) int a=2 ; int &b=a ; a=a+b ; coutb ; 8、以下程序的结果是_5_(数组)int main( ) int a5=2,3,4,5,6 ; Int *b=a ; coutn ; do rd=_n%10_; coutrd ; n=_n/10_ ; while(_n!=0_); coutn ;while(n!=0)if(n0)_i+_; if(nn ; cout”正整数个数:“i ”负整数个数:”j mendl_;switch(_m/10_) case 10: case 9: cout”优秀” ; break ;case 8: cout”良好” ; break ;case 7: cout”中等” ; break ;case 6: cout”及格” ; break ;default: cout”不及格” ; 4、交换两个整数int main( ) int x(5) , y(10); cout“x=“x“ y=”yendl; Swap(x , y) ; cout“x=“x“ y=”yendl; void Swap(int _&a_ ,int _&b_) int t ; t=a ;a=b ; b=t ; 5、查找数组中元素值为5的元素,返回其序号int main( ) int n ,a10 , i=0 ; for(i=0 ; iai ;for(i=0 ; i10 ; i+ ) if(_ai=5_) _counti_ ;if(i=10)cout”no find” ; else couta ;for(i=0 ; i10 ; i+ ) if(_ai=b_) _ai=B_; cout”ok” ;7、交换两个整数int main( ) int x(5) , y(10); cout“x=“x“ y=”yendl; Swap(_int &x_, _int &y_) ; cout“x=“x“ y=”yendl; void Swap(int *a ,int *b) int t ; _t=*a_; _*a=*b; _*b=t_ 四、编程题2、定义一个复数类,实现两个复数类相加和相减。P206要求:(1)将运算符函数重载为成员函数;(2)将运算符函数重载为友元函数#include using namespace std;class Complexpublic: Complex()real=0;imag=0; Complex(double r,double i)real=r;imag=i; Complex operator + (Complex &c2);Complex operator - (Complex &c2); void display();private: double real; double imag; void Complex:display()cout(real,imagi)endl;Complex Complex:operator + (Complex &c2) Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c;Complex Complex:operator - (Complex &c2) Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c;int main()Complex c1(3,4),c2(5,-10),c3,c4; c1.display(); c2.display(); c3=c1+c2; coutc3=c1+c2=; c3.display();c4=c1-c2; coutc4=c1-c2=; c4.display(); return 0;#include class Complexpublic: Complex()real=0;imag=0; Complex(double r,double i)real=r;imag=i; friend Complex operator + (Complex &c1, Complex &c2);friend Complex operator - (Complex &c1, Complex &c2); void display();private: double real; double imag; void Complex:display()cout(real,imagi)endl;Complex operator + (Complex &c1, Complex &c2) Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c;Complex operator - (Complex &c1, Complex &c2) Complex c; c.real=c1.real-c2.real; c.imag=c1.imag-c2.imag; return c;int main()Complex c1(3,4),c2(5,-10),c3,c4; c1.display();c2.display(); c3=c1+c2; coutc3=c1+c2=; c3.display();c4=c1-c2; coutc4=c1-c2=; c4.display(); return 0;5-7#includeusingnamespacestd;classCatpublic:Cat(intage)numOfCats+;virtualCat()numOfCats-;staticintgetnumOfCats()returnnumOfCats;private:staticintnumOfCats;intCat:numOfCats=0;voidtelepathicFunction()coutThereareCat:getnumOfCats()catsalive!n;intmain()constintmaxCats=5;Cat*catHousemaxCats;inti;for(i=0;imaxCats;i+)catHousei=newCat(i);telepathicFunction();for(i=0;imaxCats;i+)deletecatHousei;telepathicFunction();return0;4-11#includeclassRectanglepublic:Rectangle(floatlen,floatwidth)Length=len;Width=width;Rectangle();floatGetArea()returnLength*Width;floatGetLength()returnLength;floatGetWidth()returnWidth;private:floatLength;floatWidth;voidmain()floatlength,width;coutlength;coutwidth;Rectangler(length,width);cout长为length宽为width的矩形的面积为:r.GetArea()endl;3、 编写一个类,其成员函数包括:1)接受键盘输入的英文句子;2)实现一条英文句子中字母的个数统计并输出;3)输出英文句子。主函数里进行测试。#includeusing namespace std;class Charpublic: Char()cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年河南省获嘉县三年级数学第一学期期末教学质量检测模拟试题含解析
- 2024年博罗县数学三年级第一学期期末统考模拟试题含解析
- 重病患者心理护理试题及答案
- 研究生外语水平评估的多样化途径及试题及答案
- 项目管理软件的应用试题及答案
- 高级会计重要考点试题及答案
- 《管道维护与检测》课件
- 高业绩促销活动策划与执行
- 用电安全培训知识
- 2025年微型核反应堆及配套产品项目建议书
- 2025-2030年中国钢铁中厚板行业运行状况及发展规划分析报告
- 儿科专业课 17-肾病综合征学习课件
- 中国健美协会cbba(高级)健身教练证考试复习题库(含答案)
- 2025年广东乳源瑶族自治县明源国有资产经营有限公司招聘笔试参考题库附带答案详解
- 检验检测机构程序文件培训考核试卷
- 肿瘤专科护士进修学习汇报
- 护理科研课题撰写
- 新能源项目纠纷法律适用与案例解析-笔记
- 安全生产合规性审核
- 鼓乐铿锵 课件-2024-2025学年高中音乐人音版(2019)必修 音乐鉴赏
- 肾衰竭病历范文
评论
0/150
提交评论