c语言程序设计作业题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

① 当对象作为函数实参传递给函数形参时; ② 明确表示由一个对象初始化另一个对象时; ③ 用赋值运算符” =”将一个对象赋给另一个同类对象时; ④ 当对象作为函数返回值时;
9、 ___2__ 是不可以作为某类的成员的。 ① 自身类对象的指针
② 自身类的对象
③ 自身类对象的引用
④ 另一个类的对象
10、关于虚函数的描述中, __3___是正确的。
存取。
9、静态数据成员的赋初值是在 ____类体外 ____进行。
10、C++的函数如果在返回类型、 参数类型、 参数个数、 __参数顺序 _____上有所不同, 则认为是不同的函数 (注: 对于同名函数而言) 。
11、如果不能成功地分配所需要的内存时, new返回 _0___。
12、在编译时将所用函数的代码嵌入到主调函数中,这种函数称为
__3_____ 。
② 派生类中子对象的初始化; ③ 基类的子对象初始化; ④ 派生类中一般数据成员的初始化;
7、关于引用,下列的说法中错误的是 ____3___。
① 引用是给被引用的变量取一个别名; ② 引用主要是用来作函数的形参和函数的返回值;
③ 在声明引用时,要给它另开辟内存单元;
④ 在声明引用时,必须同时使它初始化; 8、在下列说法中, _3_____不会调用拷贝初始化构造函数。
5、已知类 A 中一个成员函数说明为: void set(A &a);
,其中 A &a 的含意是 ____3_。
① 指向类 A 的指针为 a; ② 将 a 的地址值赋值给变量 set; ③ a 是类 A 的对象引用,用来作函数 set( ) 的形参;
④ 变量 A 与 a 按位相与作为函数 set( ) 的参数; 6、派生类的构造函数的成员初始化列表中,不能包含 ① 基类的构造函数;
34、动态联编可以通过 __指针 ___或引用所标识的对象来操作虚函数。 35、_const____ 限定符用来声明只读变量。 36、公有成员函数的集合称为类的 ___ 接口 ____。
37、重载不能改变运算符的 ___优先级 ______和 _____结合性 __。
38、运算符 ____new__动态分配一个对象。 39、 ___重载 ______能够定义一个在不同数据类型基础上完成同一任务的函数。
② 只有类中的成员函数或友元函数才能存取类中的私有成员;
③ 在类中,如果不作特别说明,所有的数据均为私有类型;
④ 在类中,如果不作特别说明,所有的成员函数均为公有类型;
2、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用
① 作用域运算符
② 指针运算符
______1_ 提供对全局变量的访问。
《 C++语言程序设计》作业题
一、判断题 ( ) 1、写在类体内的函数都是内联函数。 ( ) 2、通常的拷贝初始化构造函数的参数是某个对象的指针名。 ( ) 3、重载运算符可改变原运算符的优先级和结合性。 ( ) 4、在设置了默认参数值后,调用函数的对应实参就必须省略。 ( ) 5、析构函数是一种函数体为空的成员函数。 ( ) 6、某类的友元类的所有成员函数可以存取或修改该类中的私有成员。 ( ) 7、对象数组的元素可以是不同类的对象。 ( ) 8、函数的参数个数、类型及位置都相同,只是函数返回值类型不同,这不是重载函数。 ( ) 9、派生类是从基类派生出来的,但它不能再生成新的派生类。 ( ) 10、构造函数和析构函数都不能重载。 ( ) 11、在公有继承中,基类中只有公有成员对派生类的对象是可见的。 ( ) 12、 this 指针是一个指向正在被某个成员函数操作的对象的指针。 ( ) 13、一维对象指针数组的每个元素应该是某个类的对象的地址值。 ( ) 14、在 C++中,定义函数时必须给出函数的类型。 ( ) 15、析构函数是一种函数参数表为空的成员函数。 ( ) 16、派生类的继承方式有两种:公有继承和私有继承。 ( ) 17、自身类对象的引用不可以作为该类的成员。 ( ) 18、多重继承情况下,派生类中对基类成员的访问不会出现二义性。 ( ) 19、可以在类的构造函数中对静态数据成员进行初始化。 ( ) 20、多重继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。 ( ) 21、在单继承情况下,派生类中对基类成员的访问不会出现二义性。 ( ) 22、转换函数不是成员函数,它是用来进行强制类型转换的。 ( ) 23、在公有继承中,基类中的保护成员对派生类对象是可见的。 ( ) 24、虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。 ( ) 25、在保护继承中,基类中的公有成员对派生类对象是可见的。 ( ) 26、抽象类是指一些不能定义对象的类。 ( ) 27、虚函数是用 virtual 关键字说明的成员函数。 ( ) 28、动态联编是在运行时选定所要调用的成员函数的。 ( ) 29、声明派生类时,在派生类的头部都要明确列出其直接基类和间接基类。 ( ) 30、在 C++中对于运算符重载,只能重载已有的运算符。 ( ) 31、在程序中可以直接调用构造函数。 ( ) 32、解决多继承情况下出现的二义性的方法之一是使用作用域运算符。 ( ) 33、函数重载是一种多态现象,它属于动态联编。 ( ) 34、友元函数、友元类的声明可以放在类定义中的任何地方。 ( ) 35、抽象类是一些不能实例化的类,即不能定义对象的类。 ( ) 36、const 对象不能随意被修改,但 const 成员函数可以修改 const 对象。
49、当用受保护的继承从基类派生一个类时,基类的公有成员成为派生类的 护____ 成员。 50、如果一个类包含一个或多个纯虚函数,则该类为 ___抽象类 _____。 三、选择题 1、下列有关类的说法不正确的是 __2/4______ 。
__保护 ____成员,基类的受保护成员成为派生类的
① 类是一种用户自定义的数据类型;
3、对象成员的表示与结构体成员的表示相同,使用运算符
__.__ 或 ____。
4、已知: p 是一个指向类 A 数据成员 m的指针, a1 是类 A 的一个对象,如果要给对象 a1 的数据成员 m赋值为 5,应 ____________赋
值。
5、C++中,继承分为单继承和 __多继承 ___,而继承方式可分为 __公有 ___、 __私有 ____、 ____保护 __。
24、在类定义时如果没有定义构造函数,编译系统会自动生成一个
___构造函数 ____。
25、类的 ___ 私有 ___成员只能被该类的成员函数或友元访问。
26、使关键字 class 定义的类中缺省的访问权限是 ___private_____ 。 27、一个类中只可能定义 __1___个析构函数。
28、当一个类的成员是另一个类的对象时,该对象称为
( ) 37、拷贝初始化构造函数的参数只能是对某个对象的引用。
( ) 38、类的公有静态成员既可以用类的对象访问,也可以用作用域运算符通过类名访问。 ( ) 39、拷贝初始化构造函数的参数可以是某类的对象名。
( ) 40、在类体外定义的函数若没有关健字 inline 说明,则都是外联函数。
( ) 41、C++中的所有函数调用都是传引用调用。 ( ) 42、析构函数说明为虚函数是没有意义的。
① 虚函数是一个 static 类型的成员函数;
② 虚函数是一个非成员函数;
③ 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数;
④ 派生类的虚函数与基类的同名虚函数应具有不同的参数个数和类型;
11、下列四项选择中, _____3_不是流类的对象。
① cin
( ) 43、派生类的构造函数的成员初始化列表中,可以包含基类的子对象初始化。 ( ) 44、构造函数说明为虚函数是没有意义的。 ( ) 45、对每个可重载的运算符来说,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。
( ) 46、C++中的所有函数调用都是传值调用。 ( ) 47、使用关键字 class 定义的类中,缺省的访问权限是公有( ( ) 48、使用关键字 class 定义的类中,缺省的访问权限是私有(
public )的。 private )的。
( ) 49、如果一个成员函数只存取类的静态数据成员,则可将该成员函数说明为静态成员函数。
( ) 50、说明和定义类的对象时,类名前面不需要加
class 关键字。
二、填空
1、如果一个函数没有返回值,定义时需用类型说明符
___void___ 说明。
2、通常的拷贝初始化构造函数的参数是 _____同类对象的引用 ______。
21、抽象类不能实例化,即不能定义一个抽象类的 ___ 对象 ____。
22、关键字 ______、 ______、 ______ 和 _______ 在 C++中用来建立新的数据类型。
23、定义在类内部的函数为 ____内联函数 ____,编译器会在调用该函数处,将函数代码的拷贝在调用函数处展开。
__内联函数 ______。
13、如果静态成员函数中要引用非静态成员时,可通过
_对象 ____来引用。
14、当使用 delete 运算符释放一个对象时, delete 会自动调用 __析构函数 _____。
15、从一个基类派生的继承为单继承,从多个基类派生的继承为
___ 多继承 ____。
16、多继承下,可能造成对基类中某个成员访问的 ___ 二义性 _____。
40、每个对象都维护了一个指向自身的指针,这个指针称为
___this___ 指针。
41、处于同一层次的各基类构造函数的执行顺序取决于
___定义派生类 _____所指定的各基类的顺序。
42、 __ 构造函数 _____是用来初始化类的数据成员的一种特殊的成员函数。
43、受保护的成员不能被外界引用,但它可以被派生类的
___ 成员函数 _____引用。
44、静态联编工作是在 __编译 ______阶段完成的。
45、在 C++中,对虚函数来说,不能声明 ___虚构造函数 ____,但可以声明虚析构函数
46、___ 静态 ___成员函数的实现中不能直接引用类中说明的非静态成员。
47、const char *p 说明了 p 是指向 ___字符常量 ____的指针。 48、通常,类的成员函数的访问模式是 __公有 ______,数据成员的访问模式是 ___私有 ____。
③ 提取运算符
④ 插入运算符
___保
3、类模板的使用实际上是将类模板实例化成一个具体的
____3____。
① 函数
② 对象
③类
4、下列输出字符‘ d’的方法中, __1____是错误的。
④ 类的成员
① cout<<put( ‘d’);
② cout<<’d’;
③ cout.put( ‘d’);
④ char a= ’d’; cout<<a;
17、如果想要使公共基类在派生类中只产生一个基类子对象,则必须将这个基类设为
__虚基类 ____。
Βιβλιοθήκη Baidu
18、面向对象程序设计的三大特征是封装性、继承性和
___ 多态性 _____。
19、多态从实现的角度来讲可以划分为两类,编译时的多态和
___运行时的多态 ____。
20、将运算符 ++重载为类的友元函数时,定义前置 ++有_1___个参数,而定义后置 ++有 _2__个参数。
6、任何类中允许有三种类型的成员,它们分别是 __公有 ____、__私有 _____、___保护 ____。
7、____作用域运算符 ____能够用来访问当前作用域内与局部变量同名的全局变量。
8、在类内部定义的 ___私有 __和__保护 ___成员不能被不属于该类的成员函数来存取,定义为
__公有 ____的成员则可以在类外部进行
___ 子对象或对象成员 ____。
29、静态数据成员在定义或说明时前面要加上关键字 ___static____ 。
30、C++程序必须包含头文件 ____iostream.h_____ 后,才能使用输入输出流。
31、在说明 const 变量时,必须对该变量 ____初始化 ___。 32、在需要基类对象的任何地方都可以使用 ____派生类 ____的对象来代替。 33、带有纯虚函数的类是 _抽象类 _______。
相关文档
最新文档