C++程序设计第五章练习题
更新时间:2023-10-19 17:08:01 阅读量: 综合文库 文档下载
- c程序设计第五章课后答案推荐度:
- 相关推荐
C + +程序设计单元测试卷5
1. 1. 选择题
(1) 以下有关构造函数的叙述不正确的是( )。
A. 构造函数名必须和类名一致 B. 构造函数在定义对象是自动执行 C. 构造函数无任何函数类型 D. 在一个类中构造函数有且仅有一个 (2) 以下叙述中正确的是( )
A. 在类中,不作特别说明的数据成员均为私有类型 B. 在类中,不作特别说明的数据成员均为公有类型 C. 类成员的定义必须是成员变量在前、成员函数在后 D. 类成员的定义必须放在类定义体内部 (3) 有以下类的定义,其中出错的位置是( )
class Csample
{ Csample(); // A public:
int a=10; // B Csample(int a0); // C ~Csample(); // D };
(4) 以下叙述中不正确的是( )
A.在类定义中,通常是用成员变量描述对象的属性; 用成员函数描述对象的行为 B.类的一个成员只能具有一种访问控制属性
C.构造函数和析构函数是特殊的成员函数,因此不允许重载 D.通过对象只能访问类的公有成员 (5) 以下属于析构函数特征的是( )
A. 析构函数名与类名不能相同 B. 析构函数的定义必须在类体内
C. 析构函数可以带或不带参数 D. 在一个类中析构函数有且仅有一个 (6) 设有以下类和对象的定义:
class A {public: int m; ... };
A k1,k2,*p1,*p2;
则下面针对成员变量m的引用,正确的是( )
A. k1.m=1; B. k2->m=2; C. p1.m=3; D. (*p2)->m=4; (7) 以下叙述中不正确的是( )
A. 构造函数和析构函数都是成员函数 B. 构造函数和析构函数都可以带参数
C. 程序中不能直接调用构造函数,但可以调用析构函数 D. 构造函数可以重载但析构函数不可以
(8) 设A为test类的对象且赋有初值,则语句test B=A;表示( )
A. 语法错误 B. 为对象A定义一个别名 C. 将对象A复制给对象B D. 仅说明B和A属于同一个类 (9) 以下不属于类成员函数的是( )
A.构造函数 B.析构函数 C.友员函数 D.虚函数 (10) 以下有关成员函数特征的叙述不正确的是( ) A.成员函数一定是内联函数 B.成员函数可以重载
C.成员函数可以设置缺省数值 D.成员函数可以是静态的 (11) 友元函数的作用是( )
A.提高程序的效率 B.加强类的封装性
C.实现数据的隐蔽性 D.增加成员函数的种类 (12) 以下叙述中不正确的是( )
A. 一个类的友元函数可以无条件的使用这个类的私有成员 B. 静态成员函数可以直接访问非静态数据成员
C. 不可以声明抽象类的对象,但可以声明抽象类的指针变量 D. 静态数据成员为类的所有对象所共享
(13) 以下关于静态成员函数的叙述不正确的是( ) A. 静态成员函数属于整个类
B. 对静态成员函数的引用允许使用对象名
C. 在静态成员函数中不能直接引用类的非静态成员 D. 使用类名可以直接调用其静态成员函数
(14) 以下关于友元函数的叙述不正确的是( ) A. 友元函数提供了类之间数据共享的一个途径 B. 一个友元函数可以访问任何类的任何成员 C. 友元函数破坏了数据的封装
D. 友元函数增加了程序设计的灵活性 2.填空题
(1) 类的成员按访问权限可分为三类: [1] 、 [2] 、 [3] 。
(2) 构造函数的主要作用是 [1] ,析构函数的主要作用是 [2] 。 (3) 类是对象的 [1] ;而对象则是类的具体 [2] 。 (4) 如果不做特殊说明,类成员的默认访问权限是 [1] ; 结构成员的默认访问权限 是 [2] 。
(5) 在C++中定义类时,通常是利用 [1] 描述对象的“特征”; 利用 [2] 描述对象的“行为”。
(6) 在定义对象的同时初始化其成员变量,需要利用 [1] 函数,用于初始化变量的值可以是固定的常量,也可以通过 [2] 获得。 (7) 若类中没有明确定义析构函数,清除对象的工作 [1] 来完成,原因是 [2] 。 (8) 以下程序的功能是:找出数组中的最小值并输出,请填空。
#include
void setx( int x0) {x=x0;}
friend int fun( sample b[ ], int n)
{ int m= [1] ; for(int i=0; i if(b[i].x void main() {sample a[6]; int arr[]={12,6,21,7,10,9}; for( int i=0;i<6;i++) a[i].setx(arr[i]); cout< 3. 改错题 (1) 分析以下程序的错误原因,给出修改方案使之能正确运行。 #include { double x; public: CC(double x0) { x=x0; } void disp() { cout<<”x=”< }; void main() { CC demo1(5,3); demo1.disp(); CC demo2; demo2=demo1+1; demo2,dip(); } (2) 下面的程序定义了一个Point类,找出程序中的错误语句并改正。 #include int x,y; void init(int a,int b) { x=a;y=b;} void show() { cout<<\ \ y=\}; void main() { Point a(24,50); a.show(); } (3) 以下程序的目的:利用静态成员统计程序中共创建了多少个对象,输出统计结果。请改正程序中的错误,使之能正确运行。 #include { static int count=0; tt( ) { count++; } public: void show ( ) { cout<<\ } }; int tt::count; void main() {tt a1,a2; a1.show(); tt a3; a3.show(); } 4. 看程序写结果 (1) 以下程序的运行结果是 。 #include char name[10]; public: void init(int i, char *str) {age=i; strcpy(name,str); } void display() {cout< { person demo; demo.init(30,”li-ming”); demo.display(); } (2) 以下程序的运行结果是 。 #include { int age; char *name; public: person(int i, char *str) { int j; j=strlen(str)+1; name=new char[j]; strcpy(name,str); age=i; } ~person() {delete name; cout<<”destructor is called.\\n”; } void display() { cout< {person demo(30,”Li-ming”); demo.display(): } 5. 编程序 (1)。 设有一描述做标点的point类,其私有变量x和y代表一个点的x、y坐标值。请编写程序实现以下功能:利用构造函数传递参数,在定义对象时将x、y坐标值初始化为(60,75),并利用成员函数display()输出这一坐标值;利用公有成员函数setpoint()将坐标值修改为(80, 150),并利用成员函数输出修改后的坐标值。 (2)、. 有一圆环,其中小圆半径为3.5,大圆半径为8。编程定义一个circle类,含有私有变量半径r,能够初始化r、计算圆面积。主函数中通过定义2个对象(大圆和小圆)来计算出圆环的面积。 (3)、. 设计一个有关正方体的类,其属性是棱长,要求能够计算正方体的底面积和体积。 (4)、. 定义一个change类,用以实现角度和弧度之间的转换。
正在阅读:
C++程序设计第五章练习题10-19
梦你02-14
观察豆芽发芽日记6篇10-29
走进昆虫界作文700字06-27
贵州省晴隆怡丰源贵翠深加工项目09-24
漆包线检验标准11-29
中专有什么男生热门专业 读中专有什么出路03-30
AOPA常见口试题07-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 练习题
- 程序设计