欢迎来到天天文库
浏览记录
ID:37909249
大小:52.50 KB
页数:7页
时间:2019-06-02
《C++期末复习试卷A》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学与技术信息管理与信息系统专业《面向对象程序设计C++》试卷(A卷)(闭卷)班级姓名学号题号一二三四五总分分值1020202525100得分一、判断题:(10分)(共10小题,每小题1分)1.重载函数必须有不同的参数列表。2.私有继承中,基类中所有成员在派生类成员函数中都不可以访问。3.动态绑定的多态性必须通过虚函数实现。4.友元函数的声明在类体内,它是一种成员函数。5.在类CDate中的析构函数可以声明为:void~CDate();6.在C++中,只能重载已有的运算符。7.引用和指针都可作为函数参数。8.可以在类的构造函数中对静态成员进行初始化。9.可以用delete释放不是用n
2、ew运算符分配的内存。10.内联函数相比普通函数的优点是直接将函数体展开,因此省去函数调用栈的开销。二、单选题:(20分)(共10小题,每小题2分)1.关键字____________说明对象或变量初始化后不会被修改。A.staticB.publicC.constD.inline2.C++中,用于解决二义性问题的技术是_______。A.虚函数B.函数重载C.静态函数D.虚继承3.如果调用带有默认参数的函数时缺少一个参数,则______________的默认值就作为这一参数值。A.第一个B.最后一个C.中间一个D.以上都不是4.要让一个类的所有对象具有共同的数据,要使用___________
3、_______。A.静态数据成员B.私有数据成员C.公有数据成员D.保护数据成员5.已知A是一个自定义的类,请问以下代码调用拷贝构造函数的次数是__________。A&f(A*pa){pa=newA();return*pa;}intmain(){Aa=f(NULL);return0;}A.0次B.1次C.2次D.3次6.假定要对类A的对象a、b和c执行以下操作:c=a+b;必须要重载加号运算符函数,以下写在A类体内的声明语句哪个能满足要求_________。A.operator+(A&b);B.Aoperator+(A&a,A&b);C.friendAoperator+(A&a,A&b)
4、;D.friendA&operator+(A&b);7.如果有intx,*p;floaty,*q;则下面操作正确的是_________。A.p=xB.p=qC.p=&xD.p=&y8.模板的主要用途是为了_________。A.提高代码的可重用性B.提高代码的运行效率C.实现多态性D.加强类的封装性9.C++源文件的扩展名是____________。A..cB..dswC..dspD..cpp10.若已定义了A类的构造函数A(inta=0);以下关于new运算符的用法错误的是________。A.A*p=newA;B.A*p=newA(1);C.A*p=newA[1]D.A*p=newA(
5、1)[1];三、填空题:(20分)(共10个空格,每格2分)1.已知以下程序的输出结果为:name:crqname:carter请将程序补充完整#include#includeclassA{char*name;public:voidPrintName(){(1);}A(char*name){(2);(3);}~A(){(4);}};classB:publicA{public:B((5)):A(n){}};intmain(){Bb1("crq"),b2("carter");b1.PrintName();b2.PrintName();}2.定义一个函
6、数模板,能够完成数组元素的求和,将以下程序补充完整:template<(6)>Tsum((7),intn){(8);for(inti=0;iusingnamespacestd;classBase{inty,m,d;public:Base(int_y=1,int_m=2,int_d=3){y=_y
7、;m=_m;d=_d;}print(inty=1.5){cout<y=y;}};classDerived:publicBase{doubley,m,d;public:Derived(doubley=1,doublem=2,doubled=3):Base(y,m,d),y(y),m(m),d(d){}voidprint(doubley=
此文档下载收益归作者所有