二级c++笔试历年真题 联系客服

发布时间 : 星期一 文章二级c++笔试历年真题更新完毕开始阅读d08c878cb9d528ea81c779ca

template //Type为类型参数

class Xtwo{ //由两个Type类型的数据成员构成的模板类 Type a; Type b; public:

Xtwo(Type aa=0,Type bb=0):a(aa),b(bb){} int Compare(){ //比较a和b的大小 if(a>b) return 1; else if(a==b) return 0; else return -1; }

Type Sum() {return a+b;} //返回a和b之和

Type Mult(); //函数声明,返回a和b之乘积 };

template

______::Mult() {return a*b;} //Mult函数的类外定义 46. 补充完整下面的类定义: const double PI=3.14;

class Circle{ //圆形物体的抽象基类 protected:

double r; //半径 public:

Circle(double radius=0): r(radius){} ______;//计算圆形物体表面积的纯虚函数声明 };

class Cylinder:public Circle{ //圆柱体类 double h;//高度 public:

Cylinder (double radius=0,double height=0): Circle(radius),h(height){}

virtual double Area(){ //计算圆柱体的表面积 return 2*PI*r*(r+h); } };

47. 补充完整下面的类定义: class XCH{ char* a; public:

XCH(char* aa){ //构造函数 a=new char[strlen(aa)+1]; strcpy(a,aa); }

XCH& operator=(const XCH& x){ //重载赋值函数 delete []a;

a=new char[strlen(x.a)+1]; strcpy(a,x.a); ______; }

~XCH(){delete []a;} };

48. 非成员函数应该声明为类的______函数才能访问该类的私有成员。 49. 非成员函数应该声明为类的______函数才能访问该类的私有成员。 50. 有如下程序: #include using namespace std; class Animal { public:

virtual char* getType() const {return \ virtual char* getVoice() const {return \};

class Dog:public Animal{ public:

char* getType() const {return \ char* getVoice() const { return \};

void type(Animal& a) {cout<

Dog d;type(d);cout<<\ return 0; }

运行时的输出结果是______。

2008年9月考试真题(第28次)

1. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是______。

A、12345ABCDE B、EDCBA54321 C、ABCDE12345 D、54321EDCBA

2. 在面向对象方法中,不属于\对象\基本特点的是______。

A、一致性 B、分类性 C、多态性 D、标识惟一性

3. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。

A、O(n) B、 C、 D、

4. 在数据管理技术发展的三个阶段中,数据共享最好的是______。

A、人工管理阶段 B、文件系统阶段 C、数据库系统阶段 D、三个阶段相同

5. 下列叙述中正确的是______。

A、循环队列中有队头和队尾两个指针,因此,循环队列是非线性结构 B、在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C、在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D、循环队列中元素的个数是由队头指针和队尾指针共同决定

6. 下列叙述中正确的是______。

A、顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C、顺序存储结构能存储有序表,链式存储结构不能存储有序表 D、链式存储结构比顺序存储结构节省存储空间

7. 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是______。

A、一对一 B、一对多 C、多对一 D、多对多

8. 有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为______。

A、笛卡尔积 B、交 C、并 D、自然连接

9. 数据流图中带有箭头的线段表示的是______。

A、控制流 B、事件驱动 C、模块调用 D、数据流

10. 在软件开发中,需求分析阶段可以使用的工具是______。

A、N-S图 B、DFD图 C、PAD图 D、程序流程图

11. 下列选项中,与实现运行时多态性无关的是______。

A、重载函数 B、虚函数 C、指针 D、引用

12. 在C++中,编译系统自动为一个类生成缺省构造函数的条件是______。

A、该类没有定义任何有参构造函数 B、该类没有定义任何无参构造函数 C、该类没有定义任何构造函数 D、该类没有定义任何成员函数

13. 要利用C++流进行文件操作,必须在程序中包含的头文件是______。

A、iostream B、fstream C、strstream D、iomanip

14. 对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是______。

A、公有或私有 B、私有 C、保护或私有 D、公有或保护

15. 有如下程序: #include using namespace std; class Sample{ public: Sample(){}

~Sample(){cout<<'*';} };

int main(){

Sample temp[2],*pTemp[2]; return 0;

}

执行这个程序输出星号(*)的个数为______。

A、1 B、2 C、3 D、4

16. 下列语句中,正确的是______。

A、char *myString=\B、char myString=\

C、char myString[11]=\、char myString[12]=\

17. 在语句\中,cout是______。

A、类名 B、对象名 C、函数名 D、C++的关键字

18. 在一个派生类的成员函数中,试图调用其基类的成员函数\,但无法通过编译。这说明______。

A、f()是基类的私有成员 B、f()是基类的保护成员 C、派生类的继承方式为私有 D、派生类的继承方式为保护

19. 下列关于模板的叙述中,错误的是______。

A、调用模板函数时,在一定条件下可以省略模板实参 B、可以用int、double这样的类型修饰符来声明模板参数 C、模板声明中的关键字class都可以用关键字typename替代 D、模板的形参表中可以有多个参数

20. 下列字符串中不能作为C++标识符使用的是______。

A、WHILE B、user C、_1var D、9stars

21. 有如下程序: #include using namespace std; class MyClass{ public:

MyClass(int x):val(x){} void Set(int x){val=x;}

void Print()const{cout<<\private: int val; };

int main(){

const MyClass obj1(10); MyClass obj2(20);

obj1.Print(); //语句1 obj2.Print(); //语句2 obj1.Set(20); //语句3 obj2.Set(30); //语句4 return 0; }

其主函数中错误的语句是______。

A、语句1 B、语句2 C、语句3 D、语句4

22. 在类声明中,紧跟在\后声明的成员的访问权限是______。

A、私有 B、公有 C、保护 D、默认

23. 下列语句中错误的是______。