《面向对象程序设计》C++综合练习学生版文档格式.docx

上传人:b****2 文档编号:1515517 上传时间:2023-04-30 格式:DOCX 页数:69 大小:44KB
下载 相关 举报
《面向对象程序设计》C++综合练习学生版文档格式.docx_第1页
第1页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第2页
第2页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第3页
第3页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第4页
第4页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第5页
第5页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第6页
第6页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第7页
第7页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第8页
第8页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第9页
第9页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第10页
第10页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第11页
第11页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第12页
第12页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第13页
第13页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第14页
第14页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第15页
第15页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第16页
第16页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第17页
第17页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第18页
第18页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第19页
第19页 / 共69页
《面向对象程序设计》C++综合练习学生版文档格式.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《面向对象程序设计》C++综合练习学生版文档格式.docx

《《面向对象程序设计》C++综合练习学生版文档格式.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》C++综合练习学生版文档格式.docx(69页珍藏版)》请在冰点文库上搜索。

《面向对象程序设计》C++综合练习学生版文档格式.docx

7.假定AA为一个类,inta()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( 

A.intAA:

:

a() 

B.intAA:

a()

C.AA:

D.AA:

inta()

8.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( 

A.a 

B.AA:

C.a() 

9.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( 

)放在函数原型或函数头的前面。

A.in 

B.inline 

C.inLine 

D.InLiner

10.在多文件结构的程序中,通常把类的定义单独存放于( 

)中。

A.主文件 

B.实现文件 

C.库文件 

D.头文件

11.在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于( 

12.在多文件结构的程序中,通常把含有main()函数的文件称为( 

C.程序文件 

13.在C++程序中使用的cin标识符是系统类库中定义的( 

)类中的一个对象。

A.istream 

B.ostream 

C.iostream 

D.fstream

14.在C++程序中使用的cout标识符是系统类库中定义的( 

15.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( 

A.int 

B.char 

C.AA 

D.AA*

16.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( 

A.abc 

B.*this 

C.this 

D.this&

17.假定AA是一个类,“AA&

abc();

”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用x.abc()调用该成员函数后,x的值( 

A.已经被改变 

B.可能被改变

C.不变 

D.不受函数调用的影响

18.假定AA是一个类,“AA*abc()const;

”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc()调用该成员函数后,x的值( 

D.受到函数调用的影响

19.类中定义的成员默认为( 

)访问属性。

A.public 

B.private 

C.protected 

D.friend

20.结构中定义的成员默认为( 

二、程序填充题

1.已知一个类的定义如下:

#include<

iostream.h>

classAA{

inta[10];

intn;

public:

voidSetA(intaa[],intnn);

//用数组aa初始化数据成员a,用nn初始化数据成员n

intMaxA();

//从数组a中前n个元素中查找最大值

voidSortA();

//采用选择排序的方法对数组a中前n个元素,进行从小到大排序

voidInsertA();

//采用插入排序的方法对数组a中前n个元素进行从小到大排序

voidPrintA();

//依次输出数组a中的前n个元素

};

该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。

int____

(1)_____

{

intx=a[0];

for(inti=1;

i<

n;

i++)

if(a[i]>

x)___

(2)___;

___(3)___;

}

2.已知一个类的定义如下:

voidAA:

SortA()

inti,j;

for(i=0;

___

(1)___;

i++){

intx=a[i],k=i;

for(j=i+1;

j<

j++)

if(a[j]<

x)___

(2)___

a[k]=a[i];

___(3)___;

}

3.已知一个类的定义如下:

void___

(1)___

for(i=1;

intx=a[i];

for(j=i-1;

j>

=0;

j--)

if(x<

a[j])___

(2)___;

else___(3)___;

a[j+1]=x;

三、写出下列程序的运行结果

1.#include<

#include<

string.h>

classCD{

char*a;

intb;

public:

voidInit(char*aa,intbb)

{

a=newchar[strlen(aa)+1];

strcpy(a,aa);

b=bb;

char*Geta(){returna;

intGetb(){returnb;

voidOutput(){cout<

<

a<

'

'

b<

endl;

}dx;

voidmain()

CDdy;

dx.Init("

abcdef"

30);

dy.Init("

shenyafen"

3*dx.Getb()+5);

dx.Output();

dy.Output();

2.#include<

a=newchar[strlen(aa)+1];

strcpy(a,aa);

b=bb;

};

CDdx,dy;

chara[20];

strcpy(a,dx.Geta());

strcat(a,"

xyz"

);

dy.Init(a,dx.Getb()+20);

四、程序设计题

1.根据下面类中Count函数成员的原型和注释写出它的类外定义。

int*a;

intMS;

voidInitAA(intaa[],intnn,intms){

if(nn>

ms){cout<

"

Error!

exit

(1);

MS=ms;

n=nn;

a=newint[MS];

for(inti=0;

MS;

i++)a[i]=aa[i];

intCount(intx);

//从数组a的前n个元素中统计出其值等于x的个数并返回。

2.根据下面类中Search函数成员的原型和注释写出它的类外定义。

intSearch(intx);

//从数组a的前n个元素中顺序查找值为x的元素,

//若查找成功则返回元素的下标,否则返回-1。

练习二

一.填空题

1.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( 

A.n 

B.n+1 

C.n-1 

D.n-2

2.对于一个类的构造函数,其函数名与类名( 

A.完全相同 

B.基本相同 

C.不相同 

D.无关系

3.对于一个类的析构函数,其函数名与类名( 

B.完全不同 

C.只相差一个字符 

4.类的构造函数是在定义该类的一个( 

)时被自动调用执行的。

A.成员函数 

B.数据成员 

C.对象 

D.友元函数

5.类的析构函数是一个对象被( 

)时自动调用的。

A.建立 

B.撤消 

C.赋值 

D.引用

6.一个类的构造函数通常被定义为该类的( 

)成员。

A.公用 

B.保护 

C.私有 

D.友元

7.一个类的析构函数通常被定义为该类的( 

C.公用 

8.假定AB为一个类,则执行“ABx;

”语句时将自动调用该类的( 

A.带参构造函数 

B.无参构造函数 

C.拷贝构造函数 

D.赋值重载函数

9.假定AB为一个类,则执行“ABx(a,5);

10.假定AB为一个类,则执行“AB*s=newAB(a,5);

”语句时得到的一个动态对象为_______。

A.s 

B.s->

C.s.a 

D.*s

11.假定AB为一个类,则执行“ABr1=r2;

A.无参构造函数 

B.带参构造函数 

C.赋值重载函数 

D.拷贝构造函数

12.若需要使类中的一个指针成员指向一块动态存储空间,则通常在( 

)函数中完成。

A.析构 

B.构造 

C.任一成员 

13.当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储( 

)个整数。

D.1

14.假定一个类的构造函数为“A(intaa,intbb){a=aa;

b=aa*bb;

}”,则执行“A 

x(4,5);

”语句后,x.a和x.b的值分别为( 

A.4和5 

B.5和4 

C.4和20 

D.20和5

15.假定一个类的构造函数为“A(intaa=1,intbb=0){a=aa;

}”,则执行“Ax(4);

A.1和0 

B.1和4 

C.4和1 

D.4和0

16.假定AB为一个类,则( 

)为该类的拷贝构造函数的原型说明。

A.AB(ABx);

B.AB(AB&

x);

C.voidAB(AB&

D.AB(intx);

17.假定一个类的构造函数为“B(intax,intbx):

a(ax),b(bx){}”,执行“Bx(1,2),y(3,4);

x=y;

”语句序列后x.a的值为( 

A.1 

B.2 

C.3 

D.4

18.假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为( 

A.AB(){a=0;

B.AB(intaa=0):

a(aa){}

C.AB(intaa):

a(aa){} 

D.AB(){}

19.假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为( 

A.AB(){} 

B.AB():

a(0){}

C.AB(intaa=0){a=aa;

D.AB(intaa){}

20.对于任一个类,用户所能定义的构造函数的个数至多为( 

A.0 

B.1 

C.2 

D.任意个

二.程序填充题

//依次输出数组a中的前n个元素,最后输出一个换行

使用该类的主函数如下:

inta[10]={23,78,46,55,62,76,90,25,38,42};

AAx;

intm=___

(2)___;

cout<

m<

该程序运行结果为:

237846556276

78

x.SetA(a,8);

int___

(2)___;

x.PrintA();

2325465562767890

90

3.已知一个利用数组实现栈的类定义如下:

constintARRAY_SIZE=10;

classStack{

voidInit(){top=-1;

}//初始化栈为空

voidPush(intnewElem);

//向栈中压入一个元素

intPop();

//从栈顶弹出一个元素

boolEmpty(){//判栈空

if(top==-1)returntrue;

elsereturnfalse;

intDepth(){returntop+1;

}//返回栈的深度

voidPrint();

//按照后进先出原则依次输出栈中每个元素,直到栈空为止

private:

intelem[ARRAY_SIZE];

//用于保存栈元素的数组

inttop;

//指明栈顶元素位置的指针

voidStack:

Push(intnewElem){

if(___

(1)___){

cout<

栈满!

exit

(1);

//中止运行

___

(2)___;

elem[top]=___(3)___;

三.写出下列程序运行结果

classCE{

private:

inta,b;

intgetmax(){return(a>

b?

a:

b);

intc;

voidSetValue(intx1,intx2,intx3){

a=x1;

b=x2;

c=x3;

intGetMax();

intCE:

GetMax(){

intd=getmax();

return(d>

c?

d:

c);

intx=5,y=12,z=8;

CEex,*ep=&

ex;

ex.SetValue(x,y,z);

ex.GetMax()<

ep->

SetValue(x+y,y-z,20);

ep->

GetMax()<

2.#include<

intgetmin(){return(a<

intGetMin();

GetMin(){

intd=getmin();

return(d<

CE*ep;

ep=newCE;

SetValue(x+y,y-z,10);

GetMin()<

CEa=*ep;

a.GetMin()*3+15<

四.程序设计

1.根据下面类中MaxMin函数成员的原型和注释写出它的类外定义。

in

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2