第8章单元测试1.docx

上传人:b****5 文档编号:6723814 上传时间:2023-01-09 格式:DOCX 页数:8 大小:17.50KB
下载 相关 举报
第8章单元测试1.docx_第1页
第1页 / 共8页
第8章单元测试1.docx_第2页
第2页 / 共8页
第8章单元测试1.docx_第3页
第3页 / 共8页
第8章单元测试1.docx_第4页
第4页 / 共8页
第8章单元测试1.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

第8章单元测试1.docx

《第8章单元测试1.docx》由会员分享,可在线阅读,更多相关《第8章单元测试1.docx(8页珍藏版)》请在冰豆网上搜索。

第8章单元测试1.docx

第8章单元测试1

第8章单元测试卷

1.选择题

(1)以下有关构造函数的叙述不正确的是(D)。

A.构造函数名必须和类名一致B.构造函数在定义对象是自动执行

C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个(默认的只有一个)

(2)以下叙述中正确的是(A)

A.在类中(class),不作特别说明的数据成员均为私有类型

B.在类中,不作特别说明的数据成员均为公有类型

C.类成员的定义必须是成员变量在前、成员函数在后

D.类成员的定义必须放在类定义体内部(也可以在内体外)

(3)有以下类的定义,其中出错的位置是(B)

classCsample

{public:

Csample();//A

inta=10;//B

Csample(inta0);//C~Csample();//D

};

(4)以下叙述中不正确的是(C)

A.在类定义中,通常是用成员变量描述对象的属性;用成员函数描述对象的行为

B.类的一个成员只能具有一种访问控制属性

C.构造函数和析构函数是特殊的成员函数,因此不允许重载(构造函数可以重载)

D.通过对象只能访问类的公有成员

(5)以下属于析构函数特征的是(D)

A.析构函数名与类名不能相同(必须相同)B.析构函数的定义必须在类体内(也可以在类体外)

C.析构函数可以带或不带参数(不可以)D.在一个类中析构函数有且仅有一个

(6)设有以下类和对象的定义:

classA

{public:

intm;

...

};

Ak1,k2,*p1,*p2;

则下面针对成员变量m的引用,正确的是(A)

A.k1.m=1;B.k2->m=2;C.p1.m=3;D.(*p2)->m=4;

(7)以下叙述中不正确的是(B)

A.构造函数和析构函数都是成员函数

B.构造函数和析构函数都可以带参数

C.程序中不能直接调用构造函数,但可以调用析构函数

D.构造函数可以重载但析构函数不可以

(8)设A为test类的对象且赋有初值,则语句testB=A;表示(C)

A.语法错误B.为对象A定义一个别名

C.将对象A复制给对象BD.仅说明B和A属于同一个类

(9)以下不属于类成员函数的是(C)

A.构造函数B.析构函数C.友员函数D.虚函数

(10)以下有关成员函数特征的叙述不正确的是(A)

A.成员函数一定是内联函数B.成员函数可以重载

C.成员函数可以设置缺省数值D.成员函数可以是静态的

(11)友元函数的作用是(A)

A.提高程序的效率B.加强类的封装性

C.实现数据的隐蔽性D.增加成员函数的种类

(12)以下叙述中不正确的是(B)

A.一个类的友元函数可以无条件的使用这个类的私有成员

B.静态成员函数可以直接访问非静态数据成员

C.不可以声明抽象类的对象,但可以声明抽象类的指针变量

D.静态数据成员为类的所有对象所共享

(13)以下关于静态成员函数的叙述不正确的是(D)

A.静态成员函数属于整个类

B.对静态成员函数的引用允许使用对象名

C.在静态成员函数中不能直接引用类的非静态成员

D.使用类名可以直接调用其静态成员函数

(14)以下关于友元函数的叙述不正确的是(A)

A.友元函数提供了类之间数据共享的一个途径(静态成员)

B.一个友元函数可以访问任何类的任何成员

C.友元函数破坏了数据的封装

D.友元函数增加了程序设计的灵活性

2.填空题

(1)类的成员按访问权限可分为三类:

公有   、 私有 、 保护  。

(2)构造函数的主要作用是 对对象初始化,析构函数的主要作用是注销对象并进行善后工作   。

(3)类是对象的抽象;而对象则是类的具体 实例。

(4)如果不做特殊说明,类成员的默认访问权限是私有 ;结构成员的默认访问权限是公有。

(5)在C++中定义类时,通常是利用变量描述对象的“特征”;利用函数描述对象的“行为”。

(6)在定义对象的同时初始化其成员变量,需要利用构造函数,用于初始化变量的值可以是固定的常量,也可以通过参数获得。

(7)若类中没有明确定义析构函数,清除对象的工作系统 来完成,原因是删除对象 。

(8)以下程序的功能是:

找出数组中的最小值并输出,请填空。

#include

classsample

{intx;

public:

voidsetx(intx0){x=x0;}

friendintfun(sampleb[],intn)

{intm=b[0] ;

for(inti=0;i

if(b[i].x

returnm;

}

};

voidmain()

{samplea[6];

intarr[]={12,6,21,7,10,9};

for(inti=0;i<6;i++)

a[i].setx(arr[i]);

cout<

}

3.改错题

(1)分析以下程序的错误原因,给出修改方案使之能正确运行。

#include

classCC

{doublex;

public:

CC(doublex0){x=x0;}

voiddisp()

{cout<<”x=”<

};

voidmain()

{CCdemo1(5);//CCdemo1(5)

demo1.disp();

CCdemo2;//CCdemo2(3);

demo2=demo1+1;//demo2=demo1;

demo2.disp();

}

 

(2)下面的程序定义了一个Point类,找出程序中的错误语句并改正。

#include

classPoint

{private:

intx,y;

public:

Point(inta,intb){x=a;y=b;}

voidshow()

{cout<<"x="<

};

voidmain()

{Pointa(24,50);

a.show();

}

(3)以下程序的目的:

利用静态成员统计程序中共创建了多少个对象,输出统计结果。

请改正程序中的错误,使之能正确运行。

#include

classtt

{staticintcount=0;//staticintcount静态数据成员

tt(){count++;}

public:

voidshow()

{cout<<"Now,thereare"<

};

inttt:

:

count;//inttt:

:

count=0;必须初始化

voidmain()

{tta1,a2;a1.show();

tta3;a3.show();

}

正确的是:

#include

classtt

{staticintcount;

public:

tt(){count++;}

voidshow()

{cout<<"Now,thereare"<

};

inttt:

:

count=0;

voidmain()

{tta1,a2;a1.show();

tta3;a3.show();

}

5.编程序

1.设有一描述做标点的point类,其私有变量x和y代表一个点的x、y坐标值。

请编写程序实现以下功能:

利用构造函数传递参数,在定义对象时将x、y坐标值初始化为(60,75),并利用成员函数display()输出这一坐标值;利用公有成员函数setpoint()将坐标值修改为(80,150),并利用成员函数输出修改后的坐标值。

一题答案:

#include

classpoint

{intx,y;

public:

point(inta,intb)

{x=a;y=b;}

voiddisplay()

{

cout<

}

voidsetpoint(intm,intn)

{

x=m;

y=n;

}

};

voidmain()

{

pointa(60,75);

a.display();

a.setpoint(80,150);

a.display();

}

2.有一圆环,其中小圆半径为3.5,大圆半径为8。

编程定义一个circle类,含有私有变量半径r,能够初始化r、计算圆面积。

主函数中通过定义2个对象(大圆和小圆)来计算出圆环的面积。

二题答案:

#include

classcircle

{

floatr,s1,s2;

public:

circle(floata)

{r=a;}

floatpush()

{returns1=3.14*r*r;}

floatpush1()

{returns2=3.14*r*r;}

};

voidmain()

{circlea(8);

circleb(3.5);

a.push();

b.push1();

cout<<"输出圆环的面积"<

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

当前位置:首页 > 医药卫生 > 基础医学

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

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