石河子大学 信息学院 c++期末考试 复习题Word下载.docx

上传人:b****5 文档编号:15761155 上传时间:2022-11-15 格式:DOCX 页数:59 大小:37.08KB
下载 相关 举报
石河子大学 信息学院 c++期末考试 复习题Word下载.docx_第1页
第1页 / 共59页
石河子大学 信息学院 c++期末考试 复习题Word下载.docx_第2页
第2页 / 共59页
石河子大学 信息学院 c++期末考试 复习题Word下载.docx_第3页
第3页 / 共59页
石河子大学 信息学院 c++期末考试 复习题Word下载.docx_第4页
第4页 / 共59页
石河子大学 信息学院 c++期末考试 复习题Word下载.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

石河子大学 信息学院 c++期末考试 复习题Word下载.docx

《石河子大学 信息学院 c++期末考试 复习题Word下载.docx》由会员分享,可在线阅读,更多相关《石河子大学 信息学院 c++期末考试 复习题Word下载.docx(59页珍藏版)》请在冰豆网上搜索。

石河子大学 信息学院 c++期末考试 复习题Word下载.docx

classA{

intT2;

T1fun(T2a){returna+T2;

C.template<

public:

T2b;

T1a;

A<

T1>

(){}

T1fun(){returna;

D.template<

T1fun(doublea){b=(T2)a;

return(T1)a;

}

};

(D)

4.假设p1,p2是STL中的list容器上的迭代器,那么以下语句哪个是不符合语法的

A.p1++;

B.p1--;

C.p1+=1;

D.intn=(p1==p2);

5.将一个对象放入STL中的容器里时:

A.实际上被放入的是该对象的一个拷贝(副本)

B.实际上被放入的是该对象的指针

C实际上被放入的是该对象的引用

D.实际上被放入的就是该对象自身

6.以下关于函数对象的说法正确的是:

A.函数对象所属的类将()运算符重载为一个成员函数

B.函数对象所属的类将[]运算符重载为一个成员函数

C.函数对象所属的类不能有成员变量

D.A和C都对

7.以下说法正确的是:

A.const成员函数内可以调用非const成员函数

B.在抽象类的某些成员函数中,可以出现调用纯虚函数的语句

C.静态成员函数也可以是虚函数

D.静态成员变量只能通过静态成员函数来访问

(B)

8.如果将运算符“*”重载为某个类的成员运算符(也即成员函数),则该成员函数的参数个数是:

A.0个B.1个C.2个D.根据实际作用不同,0个或1个都行

9.以下关于STL中stack类模板的正确说法是:

A.stack是关联容器

B.对于stack上的迭代器p,能够执行p++操作

C.stack可以用deque实现

D.可以用sort算法对stack进行排序

10.以下说法正确的是

A.在静态成员函数中调用虚函数是动态联编(多态)

B.在构造函数中调用虚函数,不是动态联编

C.抽象类的成员函数都是纯虚函数

D.构造函数和析构函数都不能是虚函数

二.以下程序编译、连接都能通过,请写出运行时输出的结果。

你认为没有输出的,就写"

无输出"

(共28分)。

1)4分

#include<

vector>

iostream>

usingnamespacestd;

classA{

private:

intnId;

public:

A(intn){

nId=n;

cout<

<

nId<

"

contructor"

<

endl;

~A(){

destructor"

main()

{

vector<

A*>

vp;

vp.push_back(newA

(1));

vp.push_back(newA

(2));

vp.clear();

Aa(4);

}

/*

1contructor

2contructor

4contructor

4destructor

*/

2)4分

iostream.h>

classApple{

staticintnTotalNumber;

Apple()

{nTotalNumber++;

~Apple(){nTotalNumber--;

staticvoidPrintTotal()

{cout<

nTotalNumber<

intApple:

:

nTotalNumber=0;

intmain(){

Apple*p=newApple[4];

Apple:

PrintTotal();

Applep1,p2;

delete[]p;

4

2

3)4分

public:

inti;

A(intn):

i(n){};

voidPrint(){cout<

i<

"

;

A&

Func(vector<

A>

&

v,A*p)

v.push_back(*p);

for(inti=0;

i<

v.size();

i++)

if(v[i].i==2){

p=&

(v[i]);

break;

}

return*p;

constintSIZE=4;

Aarray[SIZE]={A

(1),A

(2),A(3),A(4)};

v(array,array+SIZE);

A*p=newA(5);

Func(v,p)=10;

v[i].Print();

cout<

p->

i;

1,10,3,4,5,

5

4)4分

A(){}

virtualvoidfunc()

{cout<

A:

func"

~A(){}

virtualvoidfund()

fund"

classB:

publicA{

B(){func();

voidfun(){func();

virtual~B(){fund();

classC:

publicB{

public:

C(){}

voidfunc()

{cout<

C:

~C(){fund();

voidfund()

main()

{

A*pa=newC();

deletepa;

B*pb=newC();

deletepb;

/*

func

fund

*/

5)4分

numeric>

usingstd:

vector;

accumulate;

classComplex{

doublereal;

doubleimage;

Complex(doubler=0,doublei=0):

real(r),image(i){}

friendComplexoperator+(constComplex&

c,inti);

friendostream&

operator<

(ostream&

o,constComplex&

c);

Complexoperator+(constComplex&

c,inti)

Complextmp;

tmp.real=i*i+c.real;

tmp.image=c.image;

returntmp;

ostream&

c)

o<

c.real<

+"

c.image<

i"

;

returno;

inta[]={1,2,3,4};

int>

v(a,a+4);

accumulate(v.begin(),v.end(),Complex(2,3));

32+3i

6)4分

map>

classGt

booloperator()(constint&

n1,constint&

n2)const{

return(n1%10)>

(n2%10);

intmain(){

typedefmap<

int,double,Gt>

mmid;

mmidMyMap;

MyMap.count(15)<

MyMap.insert(mmid:

value_type(15,2.7));

value_type(15,99.3));

value_type(30,111.11));

value_type(11,22.22));

MyMap[16]<

for(mmid:

cons

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1