|
( 绑定 )又叫联编,是使计算机程序的不同部分彼此关联的过程。 |
绑定 |
|
( 构造函数 )的功能是在创建对象时,给数据成员赋初值,即对象的初始化。 |
构造函数 |
|
( 继承 )是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 |
继承 |
|
( 静态 )成员函数和全局函数不能是虚函数。 |
静态 |
|
( 类 )是对一组具有共同属性特征和行为特征的对象的抽象。 |
类 |
|
( 内联 )函数与一般函数的区别是在使用时可以像宏一样展开,所以没有函数调用的开销。 |
内联 |
|
C++把每个文件都看成是一个有序的( 字节流或字符流或二进制流 )。 |
字节流或字符流或二进制流 |
|
C++用( 命名空间 )来解决标识符命名中的冲突。 |
命名空间 |
|
cin表示标准输入的( istream类 )对象。 |
istream类 |
第二次 |
不同的对象,收到同一消息可以产生不同的结果,这种现象称为( 多态性 )。 |
多态性 |
|
测试块作为普通作用域,由关键字( try )引导。 |
try |
|
常量是一经定义便( 不能 )(填能或不能)改变的量。 |
不能 |
|
大多数的运算符重载可以重载为类的( 成员函数 ),也可以重载类的友元函数。 |
成员函数 |
|
当派生类也作为基类使用时,则各派生类只负责其( 直接 )基类的构造。 |
直接 |
|
当引用被创建时,它必须( 被初始化 )。 |
被初始化 |
|
定义const int* p表明p是一个指向( 整形常量 )的指针。 |
整形常量 |
|
定义q为一个指向int类型的变量i的常指针语句:( int *const q=&i )。 |
int*const q=&I; |
|
定义对象时,编译系统会自动地调用( 构造函数 )。 |
构造函数 |
|
定义一个整形常量m并设其初值为125的格式为( const int m=125 )。 |
const int m=125; |
第三次 |
定义一个整形常量x并设其初值为5的格式为( const int x=5 )。 |
const int x=5; |
|
动态创建的对象必须使用( delete )撤销。 |
delete |
|
对于某些复杂的类来说,其某些数据成员可能又是另一些类类型,这就形成了类的( 组合 )。 |
组合 |
|
多态性的实现方法有( 虚函数 )、运算符重载等。 |
虚函数 |
|
赋值运算符不能重载为( 友元 )函数。 |
友元 |
|
函数原型声明由函数的( 返回 )类型、函数名及参数特征3部分内容组成。 |
返回 |
|
函数重载是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或( 参数个数 )不同。 |
参数个数 |
|
将一个char型数据转换为String类型的数据,需要用用( 命名空间 )完成类类型转换。 |
构造函数 |
|
解决命名冲突的办法有两个,一个是使用不同的标识符名,另一个是使用( 非静态 )。 |
命名空间 |
|
静态成员函数不能直接访问类中的( )成员。 |
非静态 |
第四次 |
静态数据成员的作用是所有对象( )该数据成员。 |
共享 |
|
静态数据成员是在( )过程中创建并初始化的。 |
编译 |
|
类和对象之间的关系是( )的关系。 |
抽象和具体 |
|
类声明中的访问权限关键字可以按任意顺序出现,默认时的访问权限为( )。 |
私有或private |
|
类型参数前需要加关键字class(或typename),这个class并不是类的意思,而是表示( )的意思。 |
任何类型 |
|
面向对象程序设计方法的基本特征主要有( )、封装性、继承性和多态性。 |
抽象性 |
|
面向对象程序设计方法的基本特征主要有抽象性、( )、继承性和多态性。 |
封装性 |
|
面向对象程序设计方法的基本特征主要有抽象性、封装性、继承性和( ) |
多态性 |
|
模板分函数模板和( )。 |
类模板 |
|
模板是( )参数化的工具。 |
类型 |
第五次 |
模板是C++的一个重要特征。模板是( )的工具。 |
类型参数化 |
|
派生类不能继承基类的构造函数和( )函数。 |
析构 |
|
如果发生异常,则根据throw抛出的异常对象类型来匹配一个( )语句。 |
catch |
|
如果友元函数带了两个不同的类的对象,其中一个对象所对应的类要在后面声明。为了避免编译时的错误,编程时必须通过( )告诉C++,该类将在后面定义。 |
向前引用 |
|
如果找不到匹配类型的catch语句,系统函数( )被调用,终止程序。 |
terminate |
|
如有定义 int i=5, &j=i; 则j值的变化( ) (填写会/不会)引起i值得变化。 |
会 |
|
如执行语句以下语句之后,x的值为( )。 |
5 |
|
双目运算符重载为类的友元函数时,其参数表有( )个参数。 |
2 |
|
为了使类中的某个成员不被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为( )。 |
Public |
|
要从文件中输入数据,则必须定义( )类的对象。 |
ifstream |
|
要通过“>>”输入自定义的类类型,则必须重载该运算符为( )函数。 |
友元 |
|
一个函数功能不太复杂,但要求被频繁调用,选用( )。 |
内联函数 |
第六次 |
一个类中有且仅有一个析构函数,且一般应为( )。 |
公有 |
|
运算符转换函数只能定义为一个类的( )函数。 |
成员 |
|
在try之后,根据异常的不同情况,相应的处理方法由关键字( )引导。 |
catch |
|
在堆中创建的数据对象称为( )。 |
堆对象 |
|
在函数调用时,若某个参数省略,则其后的参数皆应省略而采用( )。 |
默认值 |
|
在基类中定义虚函数时,需要使用关键字( )开头。 |
virtual |
|
在类的成员函数的后面加上关键字const,表明该成员函数是( )函数。 |
常成员 |
|
在类的继承层次中,父类中使用( )访问权修饰符,既可以保持类的封装性,又可以在其派生类的成员函数中直接访问。 |
protected或受保护的 |
|
在类外给出函数体的成员函数,若要定义为内联函数,则必须加上关键字( )。 |
inline |
|
在内联函数体中,不能含有复杂的结构控制语句,如开关语句和( )语句等。 |
循环 |
|
在派生类的声明中,如果只有一个基类名,则这种继承方式称为( )。 |
单继承 |
|
重载不能改变运算符的原有( )级和结合性。 |
优先 |
|
重载不能改变运算符的原有优先级和( )性。 |
结合 |
第一章 面向对象的方法学 |
|
|
|
1. 面向对象程序设计方法的基本特征主要有抽象性、( )、继承性和多态性。 |
封装性 |
|
2. ( )是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 |
继承 |
|
3. 不同的对象,收到同一消息可以产生不同的结果,这种现象称为( )。 |
多态 |
|
4. 编译时的多态性是通过( )来实现的。 |
重载 |
|
5. 运行时的多态性是通过( )来实现的。 |
虚函数 |
|
6. ( )是对一组具有共同属性特征和行为特征的对象的抽象。 |
类 |
|
7. ( )是一个类所描述的一个具体的对象。 |
实例 |
|
8. 类和对象之间的关系是( )的关系。 |
抽象和具体 |
|
9. ( )就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。 |
抽象 |
|
10. 子类继承了多个父类的数据结构和方法,则称为( )。 |
多重继承 |
|
11. 面向对象程序设计方法的基本特征主要有( )、封装性、继承性和多态性 |
抽象性 |
|
12. 面向对象程序设计方法的基本特征主要有抽象性、封装性、( )和多态性 |
继承性 |
|
13. 面向对象程序设计方法的基本特征主要有抽象性、封装性、继承性和( ) |
多态性 |
|
14. 把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称( )方法 |
OO |
|
15. 20世纪90年代中期由Booch,Rumbaugh和Jacoson共同提出了( ),把众多面向对象分析和设计方法综合成一种标准,使面向对象的方法成为主流的软件开发方法。 |
统一建模语言UML |
第二章 类和对象 |
|
|
|
1. ( )的功能是在创建对象时,给数据成员赋初值,即对象的初始化。 |
构造函数 |
|
2. ( )的功能是释放一个对象,在对象删除之前,用它来做一些内存释放等清理工作,它的功能与构造函数的功能正好相反。 |
析构函数 |
|
3. 定义对象时,编译系统会自动地调用( )。 |
构造函数 |
|
4. 一个类中有且仅有一个析构函数,且应为( )。 |
public |
|
5. 在堆中创建的数据对象称为( )。 |
堆对象 |
|
6. 当函数被声明为一个类的( )后,它就可以通过对象名访问类的私有成员和保护成员。 |
友元函数 |
|
7. 定义A是一个类,那么执行语句“A a, b(3),*p;”调用了( )次构造函数。 |
2 |
|
8. this指针是C++实现( )的一种机制。 |
封装 |
|
9. 如果友元函数带了两个不同的类的对象,其中一个对象所对应的类要在后面声明。为了避免编译时的错误,编程时必须通过( )告诉C++,该类将在后面定义。 |
向前引用 |
|
10. 已知类中的一个成员函数说明为:void Set (X &a)其中,X &a的含义是( )。 |
a是类X的对象引用,用来作为Set()的形参 |
|
11. 为了使类中的某个成员不被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为( )。 |
public |
|
12. 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其内部管理操作的函数是( )。 |
构造函数 |
|
13. 在C++语言程序中,对象之间的相互通信通过调用( )函数实现。 |
成员 |
|
14. 类的具体表现是通过声明( )来操作的。 |
对象 |
|
15. 默认构造函数的函数体是( )。 |
空 |
第三章 函数重载与内联函数 |
|
|
|
1. ( )是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或参数个数不同。 |
函数重载 |
|
2. 函数重载是C++对C语言的扩展,包括( )。 |
非成员函数的重载和成员函数重载 |
|
3. 成员函数重载的一个很重要的应用就是重载( )。 |
构造函数 |
|
4. 通过对( )进行重载,可以实现定义对象时初始化赋值的多样性。 |
构造函数 |
|
5. 析构函数( )重载。(填可以或不能) |
不能 |
|
6. 在函数调用时,若某个参数省略,则其后的参数皆应省略而采用( )。 |
默认值 |
|
7. ( )是一个函数,它与一般函数的区别是在使用时可以像宏一样展开,所以没有函数调用的开销 |
内联函数 |
|
8. 在内联函数体中,不能含有( ),如switch和while语句等。 |
复杂的结构控制语句 |
|
9. 在类内给出函数体定义的成员函数被默认为( )。 |
内联函数 |
|
10. 一个函数功能不太复杂,但要求被频繁调用,选用( )。 |
内联函数 |
|
11. 内联函数的关键字是( )。 |
inline |
|
12. 函数重载是指两个或两个以上的函数具有( )的函数名,但参数类型不一致或参数个数不同。 |
相同 |
|
13. 函数重载是指两个或两个以上的函数具有相同的函数名,但( )不一致或参数个数不同。 |
参数类型 |
|
14. 函数重载是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或( )不同。 |
参数个数 |
|
15. 在C++中,设置参数默认值时,应当( )设置。 |
从右向左 |
第四章 常量和引用 2 7 8是程序题 |
|
|
|
1. 引用是某个数据的( ) 。一旦定义引用之后,对它的使用与对普通数据的使用完全一样。 |
别名 |
|
3. 常量是一经定义便( )的量。 |
不能被改变 |
|
4. 定义一个整形常量x并设其初值为5的格式为( )。 |
const int i=5; |
|
5. 如有定义 int const * p;表示指针( )(填写能/不能)被改变。 |
能 |
|
6. 如有定义 int i=5, &j=i; 则j值的变化( )(填写会/不会)引起i值得变化。 |
会 |
|
9. 如有定义 const int i=5; const int j=3; const int *p=&i; 则执行语句p=&j; 是( )。(填写合法/非法)。 |
合法 |
|
10. 定义const int* p表明p是一个( )。 |
指向常量的指针 |
|
11. 定义int const* q;表示q是( ) |
指向常量的指针 |
|
12. 如有const int MAX=100;则定义 int iData[MAX];是( )。(填写合法/非法) |
合法 |
|
13. 在类的成员函数的后面加上关键字const,表明( )。 |
此函数为常成员函数 |
|
14. 当引用被创建时,它必须( )。 |
被初始化 |
|
15. 一旦一个引用被初始化为指向一个对象,则 它就( )(填写能/不能)被改变为指向另一个对象的引用! |
不能 |
第五章 静态与命名控制 |
|
|
|
1. C++通过__提供数据成员之间的数据共享。 |
静态数据成员 |
|
2. 静态数据成员的初始化应该在__声明并需要在对象生成之前完成 |
类外 |
|
3. 静态数据成员的访问方式是 __。 |
类名::静态数据成员 |
|
4. __是独立于类对象的,因此没有this指针。 |
静态成员函数 |
|
5. 静态成员函数的调用形式是__ |
类名::静态成员函数 |
|
6. 静态成员函数不能直接访问类中的__成员。 |
一般数据 |
|
7. 动态对象是指执行_时创建的对象。 |
运算符new |
|
8. _是指定在一个程序块或者函数体内的对象。 |
局部对象 |
|
9. 静态对象的作用是__. |
提供数据成员之间的数据共享 |
|
10. 静态数据成员是在__过程中创建并初始化的。 |
编译 |
|
11. 局部对象和全局对象中,在同一程序中_生存期最长。 |
全局对象 |
|
12. 动态创建的对象必须使用__撤销。 |
delete |
|
13. __不能在任何函数内分配存储空间和初始化。 |
静态数据成员 |
|
14. C++用_来解决标识符命名中的冲突。 |
命名空间 |
|
15. 命名空间成员的访问方式为__。 |
命名空间标识符::成员名 |
第六章 运算符重载 |
|
|
|
1. C++中只能重载C++语言中_的运算符。 |
原先已经定义好的 |
|
2. 重载不能改变运算符的原有__。 |
优先级和结合性 |
|
3. 大多数的运算符重载可以重载为类的_,也可以重载类的友元函数。 |
成员函数 |
|
4. 前置单目运算符重载为类的成员函数时,其参数表有__个参数。 |
0 |
|
5. 后置单目运算符重载为类的友元=员函数时,其参数表有__个参数。 |
1 |
|
6. 赋值运算符不能重载为__函数。 |
友元 |
|
7. 用构造函数完成类类型的转换,类内至少定义一个__的构造函数。 |
只带一个参数 |
|
8. 不能利用__把自定义类型的数据转换为系统预定义类型的数据。 |
显示转换 |
|
9. 类类型转换函数只能定义为一个类的__函数。 |
构造函数 |
|
10. 类类型转换函数中必须有__的语句。 |
return目的类型的数据 |
|
11. 双目运算符重载为类的成员函数时,其参数表有__个参数。 |
1 |
|
12. 双目运算符重载为类的友元函数时,其参数表有__个参数。 |
2 |
|
13. 对赋值运算符进行重载时,应声明为__函数。 |
非静态成员 |
14. 如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为__ |
|
a.operator++() |
|
15. 运算符重载实质上是面向对象_ 特性的一种表现。 |
多态 |
第七章 组合继承与多态性 |
|
|
1. 在类的继承层次中,父类中使用__访问权修饰符,既可以保持类的封装性,又可以在其派生类的成员函数中直接访问。 |
|
public |
|
2. 继承使得相似的对象可以共享( )和数据结构,从而大大减少程序中的重复代码。 |
数据成员 |
|
3. 多态性的实现方法有( )、运算符重载等。 |
虚函数 |
|
4. 定义内联函数的关键字是 ( ) 。 |
inline |
|
5. 定义一个抽象类用的关键字是( |
virtual |
|
6. 使用派生类的主要原因是( )。 |
增加新的属性和行为 |
|
7. ( )函数不能是虚函数。 |
静态成员函数 |
|
8. 当派生类也作为基类使用时,则各派生类只负责其( )基类的构造。 |
直接 |
|
9. 在派生类的声明中,如果只有一个基类名,则这种继承方式称为( ) 。 |
单继承 |
|
10. 构造函数( )声明为虚函数。(填可以或不可以) |
不可以 |
|
11. 在多重派生过程中,如果想使公共的基类在派生时只有一个副本,则可以将这个基类声明为( ) 。 |
虚基类 |
|
12. 派生类( )继承基类的构造函数和析构函数。(填可以或不可以)。 |
不可以 |
|
13. C++支持两种多态性,即编译时的多态性和运行时的多态性。运行时的多态性是通过 ( )来实现的。 |
虚函数 |
|
14. 如果A是从B继承而来,则A叫父类,B叫( )类。 |
父 |
|
15. 在运行时确定函数调用成为 ( ) 绑定。 |
动态 |
第八章 模板 |
|
|
|
1. 原型声明由函数的( )、函数名及参数特征3部分内容组成。 |
返回类型 |
|
2. 模板分函数模板和( )。 |
类模板 |
|
3. 如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都须重复使用关键字( ) 。 |
class或typename |
|
4. 类模板的使用实际上是将类模板实例化成为一个具体的( )。 |
类 |
|
5. 模板分函数模板和( 类模板 ) 。 |
类模板 |
|
6. 在基类中定义虚函数时,需要使用关键字( )开头。 |
virtual |
|
7. 用一个类顶一个指针变量,但这个指针变量只能指向它的派生类对象,则这个类必定是( )。 |
模板类 |
|
8. 纯虚函数定义时在函数参数表后加( ),表明程序员对函数体不定义。 |
const=0 |
|
9. 派生类的构造函数的成员初始化列中,( )(填写可以/不可以)基类的构造函数。 |
不可以 |
|
10. ( )和继承是面向对象程序设计方法的连个最主要特征。 |
多态 |
|
11. ( )将一群相关的操作组织起来,共享其间相同的数据和操作行为。 |
继承 |
|
12. ( )是软件可重用的一种形式,新类通过它可以从旧类中吸取其属性和行为,并进行覆盖和改写。 |
继承 |
|
13. 在继承派生中,( )继承方式可以使得派生类中的成员函数能访问基类中的protected数据成员,但是派生类对象不能访问基类中的protected数据成员。 |
公有 |
|
14. 在继承派生中,构造的顺序是从基类到派生类,析构的顺序是( )。 |
从派生类到基类 |
|
15. ( )又叫联编,是使计算机程序的不同部分彼此关联的过程。 |
绑定 |
第九章 输入输出流 |
|
|
|
1. cin是__对象 |
标准输入的istream |
|
2. cout是__对象 |
标准输出的ostream |
|
3. 要通过“<<”输出自定义的类类型,则必须重载该运算符为__函数。 |
友元 |
|
4. 要通过“>>”输入自定义的类类型,则必须重载该运算符为__函数。 |
友元 |
|
5. 根据数据的组织形式,文件分为__和二进制文件。 |
文本文件 |
|
6. C++把每个文件都看成是一个有序的__。 |
字节流或字符流或二进制流 |
|
7. 要从文件中输入数据,则必须定义__类的对象。 |
ifstream |
|
8. 要向文件中写入数据,则必须定义__类的对象。 |
ofstream |
|
9. 由于C++利用多继承实现了输入输出的类层次结构,使得__的输入输出保留了基本输入输出的所有特征。 |
unknown |
|
10. 对于文件的访问方式,C++提供顺序读写和__两种方式。 |
随机读写 |
|
11. C++的流库预定义了4个流,它们是cin、cout、clog和_。 |
cerr |
|
12. 控制格式输入输出的操作中,函数__是用来设置填充字符。要求给出函数名和参数类型 |
setfill(char) |
|
13. 在C++中要创建一个文件输入流对象fin,同时该对象打开文件“Test.txt”用于输入,则正确的声明语句是__。 |
ifstream fin(“Test.txt”) |
|
14. 在C++四个流对象中,__用于标准屏幕输出。 |
cout |
第十章 异常处理 |
|
|
|
1. 异常处理不仅提供了程序的容错性,还提供了各种( )的方法。 |
捕获异常 |
|
2. 如果函数内抛出一个异常,则在异常抛出时系统会( )所在函数的执行。 |
自动退出 |
|
3. 如不想在异常抛出时退出函数,可在函数内创建一个( ),用于测试各种错误。 |
特殊块 |
|
4. 测试块作为普通作用域,由关键字( )引导。 |
try |
|
5. 在try之后,根据异常的不同情况,相应的处理方法由关键字( )引导。 |
catch |
|
6. 异常处理部分必须( )放在测试块之后。 |
直接 |
|
7. 如果在try块内没有发生异常,则直接转到所有catch块后的( )语句执行下去。 |
第一条 |
|
8. 如果找到类型匹配的catch语句,进行捕获,其参数被初始化为( )对象,执行相应catch内的语句模块。 |
指向异常 |
|
9. 如果找不到匹配类型的catch语句,系统函数( )被调用,终止程序。 |
terminate |
|
10. 如果任意层的异常处理器都没有捕获到异常(没有指定相应的catch块),称为( )。 |
未捕获异常 |
|
11. 如有异常抛出,可以使用( )类型变量作为参数。 |
自定义或预定义或int |
|
12. C++语言提供了异常接口声明语法,利用它可以清晰地告诉使用者异常抛出的( )。 |
类型 |
|
13. void f() throw(A,B,C,D);表明此函数只能抛出( )及其子类型异常。 |
ABCD |
|
14. void f(); 表示( )。 |
unknown |
|
15. void f() throw(); 表示( )。 |
该函数能抛出自定义类型异常 |