您好,欢迎访问三七文档
西安理工大学题库第一章面向对象的方法学五.填空题1.面向对象程序设计方法的基本特征主要有抽象性、()、继承性和多态性2.()是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系3.不同的对象,收到同一消息可以产生不同的结果,这种现象称为()。4.编译时的多态性是通过()来实现的。5.运行时的多态性是通过()来实现的。6.()是对一组具有共同属性特征和行为特征的对象的抽象。7.()是一个类所描述的一个具体的对象。8.类和对象之间的关系是()的关系。9.()就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。10.子类继承了多个父类的数据结构和方法,则称为()。11.面向对象程序设计方法的基本特征主要有()、封装性、继承性和多态性12.面向对象程序设计方法的基本特征主要有抽象性、封装性、()和多态性13.面向对象程序设计方法的基本特征主要有抽象性、封装性、继承性和()14.把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称()方法。15.20世纪90年代中期由Booch,Rumbaugh和Jacoson共同提出了(),把众多面向对象分析和设计方法综合成一种标准,使面向对象的方法成为主流的软件开发方法。第二章类与对象一.阅读程序题1.#includeiostream.hclassCSample{inti;public:CSample(){i=1;couti++;}voiddisp(){cout++i;}~CSample(){couti++;}};voidmain(){CSamples;s.disp();}2.#includeiostream.hclassSample{private:intx;public:Sample(){cout(x=0);}Sample(inti,intj){cout(x=i+j);}~Sample(){coutx;}};voidmain(){Sample*p1=newSample,*p2=newSample(3,4);deletep1;deletep2;}3.#includeiostream.hclassSample{public:Sample(){}Sample(inta){x=a;}Sample(Sample&a){x=a.x++;}voiddisp(){coutx++;}private:intx;};voidfun(Sample&s1,Samples2){s1.disp();s2.disp();}voidmain(){Samples1(2),s2=s1;fun(s2,s1);s1.disp();s2.disp();}4.#includeiostream.hclassSample{intx;public:Sample(){x=0;}Sample(inta){cout(x=a);}~Sample(){cout++x;}voiddisp(){coutx;}};voidmain(){Samples1(2);s1.disp();s1.~Sample();}5.#includeiostream.hclassSample{intx;public:Sample(){cout(x=0);}Sample(inti){cout(x=i);}~Sample(){coutxendl;}voiddisp(){coutx;}};voidmain(){Samples(3);inti=0;if(i=0){Samples;s.disp();}}6.#includeiostream.hclassSample{public:Sample(){coutConstructorendl;}~Sample(){coutDestructorendl;}};voidfn(inti){staticSamplec;couti=iendl;}voidmain(){fn(10);fn(20);}7.#includeiostream.hclassSample{intn;public:Sample(inti){n=i;}friendintadd(Sample&s1,Sample&s2);};intadd(Sample&s1,Sample&s2){returns1.n+s2.n;}voidmain(){Samples1(10),s2(20);coutadd(s1,s2)endl;}8.#includeiostream.hclassB;classA{inti;public:intset(B&);intget(){returni;}A(intx){i=x;}};classB{inti;public:B(intx){i=x;}friendA;};intA::set(B&b){returni=b.i;}voidmain(){Aa(1);Bb(2);couta.get(),;a.set(b);couta.get()endl;}9.#includeiostream.hfloatf(floatx,floaty){returnx+y;}intf(intx,inty){returnx+y;}voidmain(){floata,b,c;a=b=50.5;c=f(a,b);coutc;}10.#includeiostream.hintmax(intx,inty){if(xy)returnx;elsereturny;}intmax(intx,inty,intz){returnmax(x,max(y,z));}voidmain(){inta=3,b=4,c=5,d=0;d=max(a,b);coutd;}11.#includeiostream.hintp(intx=4,inty=5){returnx+y;}voidmain(){inta=3,b=4,c=0;c=p(b);coutc;}12.#includeiostream.hintadd(intx,inty=8);voidmain(){inta=6;coutadd(a,add(a))endl;}intadd(intx,inty){returnx+y;}13.#includeiostream.hintp(intx=4,inty=5,intz=6){returnx+y+z;}voidmain(){inta=3,b=4,c=5;c=p(b,a);coutc;}14.#includeiostream.hintp(intx=4,inty=5,intz=6){returnx+y+z;}voidmain(){inta=3,b=4,c=0;c=p(b,c);coutc;}15.#includeiostream.hintn=1;voidFun();voidmain(){n++;Fun();if(n0){intn=5;coutBlock:n=n,;}coutMain:n=nendl;}voidFun(){intn=10;coutFun:n=n,;}二.完成程序题1.有一个学生类student,包括学生姓名、成绩,设计一个友元函数,比较两个学生成绩的高低,并求出最高分和最低分的学生。解:#includeiostream.h(1)________________________classstudent{charname[10];intdeg;public:(2)________________________//定义构造函数{strcpy(name,na);deg=d;}char*getname(){returnname;}(3)________________________};intcompare(student&s1,student&s2){if(s1.degs2.deg)return1;elseif(s1.deg==s2.deg)return0;elsereturn-1;}voidmain(){studentst[]={student(王华,78),student(李明,92),student(张伟,62),student(孙强,88)};inti,min=0,max=0;for(i=1;i4;i++){if(compare(st[max],st[i])==-1)(4)________________________elseif(compare(st[i],st[min])==1)min=i;}cout输出结果:endl;cout最高分:st[max].getname()endl;cout最低分:st[min].getname()endl;}2.有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小于60:不及格。#includeiostream.h#includestring.h#includeiomanip.hclassstudent{charname[10];intdeg;charlevel[7];public:(1)________________________//定义构造函数{strcpy(name,na);deg=d;}char*getname(){returnname;}(2)________________________;voiddisp(){coutsetw(10)namesetw(6)degsetw(8)levelendl;}};voidtrans(student&s){if(s.deg=90)strcpy(s.level,优);elseif(s.deg=80)strcpy(s.level,良);elseif(s.deg=70)strcpy(s.level,中);elseif(s.deg=60)strcpy(s.level,及格);elsestrcpy(s.level,不及格);}voidmain(){inti;studentst[]={student(王华,78),student(李明,92),student(张伟,62),student(孙强,88)};cout输出结果:endl;coutsetw(10)姓名setw(6)成绩setw(8)等级endl;for(i=0;i4;i++){(3)________________________//成绩转换(4)________________________//输出结果}}3.定义一个汽车类,实现汽车数目的修改、显示等功能。#includeiostream.hclassCar{private:intnumber;public:(1)________________________//定义构造函数{number=x;}voidSetNumber(intn){number=n;}voiddisplay(){(2)________________________//输出汽车数目}};intmain(){Car*p;(3)________________________;p-SetNumber(20);(4)________________________//输出汽车数目return0;}4.定义一个数组类,实现输入输出#includeiostream.hclassArray{public:(1)()//定义构造函数{(2)();//申请能存放num个整型元素的内存空间arraysize=num;}voidSetArray(){inti;for(i=0;iarraysize;i++)Ptr[i]=i;}voidDisplay(){inti;for(i=0;iarray
本文标题:C++题库
链接地址:https://www.777doc.com/doc-3534262 .html