-> -> ->
2010计算机等级考试二级(C++)笔试149(二)
时间:2011-01-17 21:35:01
微信搜索关注"91考试网"公众号,领30元,获取事业编教师公务员等考试资料40G
。 A.Bae. fu ();B.Bae:: fu ();C.Bae->fu();D.fu() 参考答案: B ----------------------------------------25、 若有以下程序: #include <iostream> using namespace std; int f() { static int i = O; ints= 1; s+=i; i++; return s; } int main() { int i, a =0; for(i=0;i<5;i++) a+=f(); cout<<a<<end1; return 0; } 程序运行后,输出的结果是( )。 A.20B.24C.25D.15 参考答案: D ----------------------------------------26、友元的作用是( )。 A.提高程序的运用效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类 参考答案: A ----------------------------------------27、 以下函数实现的功能是( )。 void fun (char *s) { char *p,*q, temp; p=s; q=s+ strlen(s)-1; while(p<q) { temp=*p; *p=*q; *p=temp; p++; q--; } } A.将一个字符串首尾颠倒B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母 参考答案: A ----------------------------------------28、关于this 指针的说明不正确的是( )。 A.不能在程序中修政thi 指针B.thi指针可以给其他指针赋值,但不能修改thi 指针C.静态成员函数中没有thi 指针D.thi 指针可以被赋值 参考答案: D ----------------------------------------29、内部格式控制操作函数是在头文件( )中定义的。 A.iotream.hB.iomai.hC.itream.hD.otream.h 参考答案: B ----------------------------------------30、 有如下函数模板: template<typename T,typename U> T cast (U u){ return u;} 其功能是将U 类型数据转换为T类型数据。已知i为int 型变量,下列对模板函数cast的调用中正确的是( )。 A.cat (i);B.cat ltgt(i)C.cat<char*,it>(i);D.cat<doule,it>(i); 参考答案: D ----------------------------------------31、 己知类Myst 有一个只需要一个double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数operator-应该在类中声明为( )。 A.fried Myt oerator-(Mytam, Mytam);B.fried Myt oerator-(Myt, Myt);C.fried Myt oerator-(Myt, Mytam);D.fried Myt oerator-(Mytam, Myt); 参考答案: B ----------------------------------------32、若要用派生类的对象访问基类的保护成员,以下观点正确的是( )。 A.可采用公有继承B.可采用私有继承C.可采用保护继承D.不可能实现 参考答案: D ----------------------------------------33、关于多继承二义性的描述中,错误的是( )。 A.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性 参考答案: C ----------------------------------------34、 有如下程序: #include<iostream> using namespace std; class XX { protected: int k; public: XX(int n=5):k(n){} ~XX() { cout<<XX; } virtual void f() const=0; }; inline void XX:: f()const { cout<<k+3; }; class YY: public XX { public: ~YY() { cout<<YY; } void f() const { cout<<k-3;XX::f(); } }; int main() { XX &p=*new YY; p. f(); delete &p; return 0; } 执行上面的程序将输出( )。 A.28XXB.28YYXXC.-33XXD.-33XXYY 参考答案: A ----------------------------------------35、 以下程序的输出的结果是( )。 #include <iostream.h> int x=3; void main() { void incre(); int i; for (i=1;i<x;i++) incre(); } Void incre() { static int x=1; x*=x+1; cout<<x<<; } A.3 3B.2 2C.2 6D.2 5 参考答案: C
微信搜索关注"91考试网"公众号,领30元,获取公务员事业编教师考试资料40G