您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B(2011)
计算机学院2010级高级语言程序设计II计期末试题一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.下列语句中,错误的是()。A)constintbuffer=256;B)constinttem;C)constdouble*point;D)double*constpt=newdouble(5.5);参考答案:B2.有以下函数模板:templateclassTypeTypeArea(constType&size){returnsize*size;}其中Type是()。A)函数形参B)函数实参C)模板类型形参D)模板类型实参参考答案:C3.由于常对象不能被更新,因此()。A)通过常对象只能调用它的常成员函数B)通过常对象只能调用静态成员函数C)常对象的成员都是常成员D)通过常对象可以调用任何不改变对象值的成员函数参考答案:A4.如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。A)public和publicB)public和protectedC)protected和publicD)protected和protected参考答案:C5.下列关于this指针的叙述中,正确的是()。A)与类相关的所有函数都含有this指针B)所有类的成员函数都有this指针C)类的所有友元函数都有this指针D)只有类的非静态成员函数才有this指针参考答案:D6..在C++中,用于实现编译时多态性的是()。A)友元函数B)重载函数C)静态成员函数D)虚函数参考答案:B7.在下列函数原型中,可以作为类AA构造函数的是()。A)voidAA(int);B)intAA();C)~AA(int);D)AA(int);参考答案:D8.使用ifstream流类定义流对象并打开磁盘文件时,文件的默认打开方式为()。A)ios::inB)ios::outC)ios::in|ios::outD)没有默认的打开方式参考答案:A9.在下面4个关键字中,用于说明虚基类的是()。A)virtualB)publicC)protectedD)private参考答案:A10.在面向对象方法中,实现信息隐蔽是依靠()。A)对象的继承B)对象的多态C)对象的封装D)对象的分类参考答案:C二、填空题(本大题共5小题,每小题2分,共10分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。1.含有纯虚函数的类称为()。参考答案:抽象类2.若将一个二元运算符重载为类的成员函数,其形参个数应该是()个。参考答案:13.一个全局函数应声明为类的()函数才能访问这个类的private成员。参考答案:友元4.重载运算符“”的函数名为()。参考答案:operator5.定义模板的关键字为()。参考答案:template三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。1.阅读下面程序,写出输出结果。#includeiostream//编译预处理命令usingnamespacestd;//使用命名空间stdclassCTest{private:intn;//数据成员public:CTest(inti=16):n(i){}//构造函数intGet(){returnn;}//返回nintGet()const{returnn-2;}//返回n-2};intmain()//主函数main(){CTesta;//定义对象aconstCTestb(8);//定义对象bcouta.Get(),b.Get()endl;//输出信息return0;//返回值0,返回操作系统}上面程序的输出结果为:参考答案:16,62.阅读下面程序,写出输出结果。#includeiostream//编译预处理命令usingnamespacestd;//使用命名空间stdclassA{public:A(){coutAendl;}//构造函数~A(){cout~Aendl;}//析构函数};classB{private:Aa;//数据成员public:B(){coutBendl;}//构造函数~B(){cout~Bendl;}//析构函数};intmain(void)//主函数main(){Bobj;//定义对象return0;//返回值0,返回操作系统}上面程序的输出结果为:参考答案:AB~B~A3.阅读下面程序,写出输出结果。#includeiostream//编译预处理命令usingnamespacestd;//使用命名空间stdtemplateclassTTMax(constT&a,constT&b){returnab?b:a;}intmain()//主函数main(){coutMax(1.8,5.18)endlMaxint(1.8,5.18)endl;//输出信息return0;//返回值0,返回操作系统}上面程序的输出结果为:参考答案:5.1854.阅读下面程序,写出输出结果。#includeiostream//预处理命令usingnamespacestd;//使用标准命名空间stdnamespacens//命名空间ns{intx=10;//命名空间ns中的变量xinty=100;//命名空间ns中的变量y}namespace//无名命名空间{intx=20;//命名空间中的变量x}inty=300;//全局变量yintmain(void)//主函数main(void){coutxns::xendl;//显示变量x的值coutns::yyendl;//显示变量y的值return0;//返回值0,返回操作系统}上面程序的输出结果为:参考答案:20101003005.阅读下面程序,写出输出结果。#includeiostream//预处理命令usingnamespacestd;//使用标准命名空间std//基类classBase{public://公有函数:virtualvoidShow()const{coutBase::Show()endl;}//虚函数};//派生类classDerived:publicBase{public://公有函数:voidShow()const{coutDerived::Show()endl;}//虚函数};voidRefers(constBase&obj)//基类引用{obj.Show();//调用函数Show()}intmain()//主函数main(){Baseobj1;//定义对象Derivedobj2;//定义对象Refers(obj1);//调用函数Refers()Refers(obj2);//调用函数Refers()return0;//返回值0,返回操作系统}上面程序的输出结果为:参考答案:Base::Show()Derived::Show()6.阅读下面程序,写出输出结果。#includeiostream//预处理命令usingnamespacestd;//使用标准命名空间stdclassA{protected://数据成员:inta;//数据成员public://公有函数:A(intx):a(x){}//构造函数voidShow()const{coutaendl;}//显示a之值};classB{protected://数据成员:intb;//数据成员public://公有函数:B(intx):b(x){}//构造函数voidShow()const{coutbendl;}//显示a与b之值};classC:publicA,publicB{public://公有函数:C(intx,inty):A(x),B(y){}//构造函数voidShow()const//显示b之值{couta,bendl;}};intmain()//主函数main(){Cobj(5,18);//定义对象obj.Show();//显示相关信息obj.A::Show();//显示相关信息obj.B::Show();//显示相关信息return0;//返回值0,返回操作系统}上面程序的输出结果为:参考答案:5,18518四、程序填空题(本大题共4小题,每小题3分,共12分)1.将如下程序补充完整。#includeiostream//预处理命令usingnamespacestd;//使用标准命名空间std//测试静态成员类classTest{private://数据成员:staticintcount;//对象数public://公有函数:Test(){count++;}//构造函数,实现对对象进行计数staticvoidShow(){cout共有count个对象!endl;}//显示对象数};0;//为静态数据成员赋初值intmain()//主函数main(){Testobj1,obj2,obj3;//定义对象Test::Show();//显示对象数return0;//返回值0,返回操作系统}参考答案:intTest::count=2.下列程序的输出结果为“B”,试将程序补充完整。#includeiostream//编译预处理命令usingnamespacestd;//使用命名空间stdclassA{public:voidShow()const{coutAendl;}//输出信息};classB:publicA{public:voidShow()const{coutBendl;}//输出信息};intmain(void)//主函数main(){A*p=newB;//定义指针p-Show();//输出信息deletep;//释放空间return0;//返回值0,返回操作系统}参考答案:virtual3.将如下程序补充完整。#includeiostream//预处理命令usingnamespacestd;//使用标准命名空间std//基类classBase{private://数据成员:intm;//数据成员public://公有函数:Base(inta):m(a){}//构造函数virtualvoidShow()const{coutmendl;}//虚函数};//派生类classDerived:publicBase{private://数据成员:intn;//数据成员public://公有函数:Derived(inta,intb):Base(a),n(a){}//构造函数voidShow()const//虚函数{coutn,;//显示n及,Show();//调用基类的Show()}};intmain()//主函数main(){Derivedobj(158,98);//定义派生类对象Base*p=&obj;//定义基类指针p-Show();//调用Show()return0;//返回值0,返回操作系统}参考答案:Base::4.将如下程序补充完整。#includeiostream//预处理命令usingnamespacestd;//使用标准命名空间std//整型类classInt{private://数据成员:inti;//数据成员public://公有函数:Int(intx=0):i(x){}//构造函数,将基本类型int转换为整型类Int(){returni;}//类类型转换函数,将类Int转换为基本类型int};intmain()//主函数main(){Inta;//定义整型对象coutaendl;//显示areturn0;//返回值0,返回操作系统}参考答案:operatorint五、编程题(本大题共2小题,第1小题
本文标题:四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B(2011)
链接地址:https://www.777doc.com/doc-2588215 .html