4 C++面向对象程序设计B卷和参考答案.docx.pdf
《4 C++面向对象程序设计B卷和参考答案.docx.pdf》由会员分享,可在线阅读,更多相关《4 C++面向对象程序设计B卷和参考答案.docx.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、座位号:座位号:2.2.阅读该程序,给出程序的输出结果。阅读该程序,给出程序的输出结果。9 7 2 1 59 7 2 1 53.3.阅读该程序,给出程序的输出结果。阅读该程序,给出程序的输出结果。s1=11s1=11s2=8.2s2=8.24.4.阅读该程序,给出程序的输出结果。阅读该程序,给出程序的输出结果。base classbase classbase classbase classbase classbase classderive1 classderive1 classderive2 classderive2 class5.5.阅读该程序,给出程序的输出结果。阅读该程序,给出程序的输
2、出结果。ErrorError:the side length should fit the triangle inequality:the side length should fit the triangle inequalityC+C+面向对象程序设计面向对象程序设计(甲甲)(B B)卷参考答案)卷参考答案注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交一、单项选择题(每题一、单项选择题(每题 2 2 分,总计分,总计 2020 分)分)题号题号答案答案题号题号答案答案1 1D D6 6B B2 2
3、A A7 7C C3 3B B8 8C C4 4B B9 9B B5 5A A1010D D二、程序填空题(每空二、程序填空题(每空 2 2 分,总计分,总计 2020 分)分)(1 1)word.disp()word.disp()(2 2)cout wordicout wordi(3 3)T a,int i,T b,int jT a,int i,T b,int j(4 4)sum(a,i)+sum(b,j)sum(a,i)+sum(b,j)(5 5)a+=xa+=x(6 6)A:show()A:show()(7 7)return complex(x+p.x,y+p.y)return comp
4、lex(x+p.x,y+p.y)(8 8)p3=p1+p2p3=p1+p2(9 9)bool operator()(int x);bool operator()(int x);(1010)Error:the side length should fit the triangle inequalityError:the side length should fit the triangle inequality三、阅读程序题(每题三、阅读程序题(每题 6 6 分,总计分,总计 3030 分)分)1.1.阅读该程序,给出程序的输出结果。阅读该程序,给出程序的输出结果。a=7,b=8a=7,b=8四
5、、编程题(每题四、编程题(每题 1515 分,总计分,总计 3030 分)分)1.1.按照要求,编写程序。按照要求,编写程序。座位号:座位号:2.2.按照要求,编写程序。按照要求,编写程序。7.7.C+C+面向对象程序设计面向对象程序设计(甲甲)(B B)卷)卷注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交注意:答案直接写在答题纸上,答在试卷上无效,考试后答题纸和试卷一同上交一、单项选择题(每题一、单项选择题(每题 2 2 分,总计分,总计 2020 分)分)1.1.下面关于友元的描述中,错误的是下面关于友元的描述中,错误的是_D_D_。A.A.友元函数可以访问该类的私
6、有数据成员友元函数可以访问该类的私有数据成员B.B.一个类的友元类中的成员函数都是这个类的友元函数一个类的友元类中的成员函数都是这个类的友元函数C.C.友元可以提高程序的运行效率友元可以提高程序的运行效率D.D.类与类之间的友元关系可以继承类与类之间的友元关系可以继承下列对重载函数的描述中,下列对重载函数的描述中,_A_A_是错误的。是错误的。A.A.重载函数中不允许使用默认参数重载函数中不允许使用默认参数B.B.重载函数中编译是根据参数表进行选择的重载函数中编译是根据参数表进行选择的C.C.不要使用重载函数来描述毫无相干的函数不要使用重载函数来描述毫无相干的函数D.D.构造函数重载将会给初始
7、化带来多种方式构造函数重载将会给初始化带来多种方式有如下程序:有如下程序:#include#includeclass Testclass Test public:public:Test()Test()Test()cout#;Test()cout obj2obj1obj2 被被 C+C+编译器解释为编译器解释为_A_A_。A.operator(obj1,obj2)A.operator(obj1,obj2)B.(obj1,obj2)B.(obj1,obj2)C.obj2.operator(obj1)C.obj2.operator(obj1)D.obj1.operator(obj2)D.obj1.o
8、perator(obj2)现有语句现有语句 int iarray=0,1,2,3,4,5,6,6,6,7,8;int iarray=0,1,2,3,4,5,6,6,6,7,8;vector ivector(iarray,iarray+sizeof(iarray)/sizeof(int);vector ivector(iarray,iarray+sizeof(iarray)/sizeof(int);请问要找出请问要找出 ivectorivector 之中大于之中大于 2 2 的第一个元素所在位置的元素,的第一个元素所在位置的元素,采用下面哪个算法采用下面哪个算法_B_B_。A.count_ifA
9、.count_ifB.find_ifB.find_ifC.sortC.sortD.findD.find8.8.2.2.9.9.下列关于虚基类的描述中,错误的是下列关于虚基类的描述中,错误的是_C_C_。A.A.使用虚基类可以消除由多继承产生的二义性使用虚基类可以消除由多继承产生的二义性B.B.构造派生类对象时,虚基类的构造函数只被调用一次构造派生类对象时,虚基类的构造函数只被调用一次C.C.声明声明 class B:virtual public Aclass B:virtual public A说明类说明类 B B 为虚基类为虚基类D.D.建立派生类对象时,首先调用虚基类的构造函数建立派生类对
10、象时,首先调用虚基类的构造函数在下面的程序中,在下面的程序中,A A、B B、C C、D D 四个语句编译时出现错误的是四个语句编译时出现错误的是_C_C_。class Aclass A/A/A public:public:/B/BA()A()func();func();/C/Cvirtual void func()=0;virtual void func()=0;/D/D;若定义若定义 cinstr;,cinstr;,当输入当输入 Object Windows Programming!Object Windows Programming!所得的结果是所得的结果是 str=_B_str=_B_
11、。A.Object Windows Programming!A.Object Windows Programming!B.ObjectB.ObjectC.Object WindowsC.Object WindowsD.Object Windows ProgrammingD.Object Windows Programming3.3.1010类模板的模板参数类模板的模板参数_D_D_。A.A.只可作为数据成员的类型只可作为数据成员的类型C.C.只可作为成员函数的参数类型只可作为成员函数的参数类型B.B.只可作为成员函数的返回类型只可作为成员函数的返回类型D.D.以上三者皆可以上三者皆可二、程序填
12、空题(每空二、程序填空题(每空 2 2 分,总计分,总计 2020 分)分)1.1.请在下面程序的横线处填上适当内容,以使程序完整请在下面程序的横线处填上适当内容,以使程序完整,并使运行结果为:并使运行结果为:HelloHellohELLOhELLO#include#include#include#include class Wordsclass Words char*str;char*str;public:public:Words(char*s)Words(char*s)str=new charstrlen(s)+1;str=new charstrlen(s)+1;strcpy(str,s)
13、;strcpy(str,s);4.4.5.5.6.6.2.2.void disp()void disp()coutstrendl;coutstr=A&stri=A&stri=a&stri=a&stri=z)return char(strireturn char(stri-32);32);elseelsereturn stri;return stri;int main()int main()int i;int i;char*s=Hello;char*s=Hello;Words word(s);Words word(s);_(1)_;_(1)_;/word.disp()/word.disp()fo
14、r(i=0;istrlen(s);i+)for(i=0;istrlen(s);i+)_(2)_;_(2)_;/cout wordi;/cout wordi;coutendl;coutendl;利用函数模板,利用函数模板,设计求一个数组元素之和的函数设计求一个数组元素之和的函数 sumsum 和两个数组元素之和的函数和两个数组元素之和的函数 sumsum,请在请在下面程序的横线处填上适当内容,以使程序完整下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为并使程序的输出为:数组数组 a a 之和之和:15:15数组数组 b b 之和之和:55:55两数组之和两数组之和:70:70#inc
15、lude#include template template T sum(T a,int n)T sum(T a,int n)int i;int i;T s=0;T s=0;for(i=0;in;i+)for(i=0;in;i+)s+=ai;s+=ai;return s;return s;template template T sum(_(3)_)T sum(_(3)_)/(T a,int i,T b,int j)/(T a,int i,T b,int j)return _(4)_;return _(4)_;/sum(a,i)+sum(b,j)/sum(a,i)+sum(b,j)3.3.int
16、 main()int main()int a5=1,2,3,4,5;int a5=1,2,3,4,5;int b10=1,2,3,4,5,6,7,8,9,10;int b10=1,2,3,4,5,6,7,8,9,10;int s1=sum(a,5);int s1=sum(a,5);int s2=sum(b,10);int s2=sum(b,10);int s3=sum(a,5,b,10);int s3=sum(a,5,b,10);coutcout数组数组 a a 之和之和:s1endl;:s1endl;coutcout数组数组 b b 之和之和:s2endl;:s2endl;coutcout两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+面向对象程序设计B卷和参考答案.docx C+ 面向 对象 程序设计 参考答案 docx
限制150内