第一次 ( ofstream )是从ostream派生而来,把文件绑定到程序输出。 ofstream
    ( 绑定 )又叫联编,是使计算机程序的不同部分彼此关联的过程。 绑定
    ( 构造函数 )的功能是在创建对象时,给数据成员赋初值,即对象的初始化。 构造函数
    ( 继承 )是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 继承
    ( 静态 )成员函数和全局函数不能是虚函数。 静态
    ( 类 )是对一组具有共同属性特征和行为特征的对象的抽象。
    ( 内联 )函数与一般函数的区别是在使用时可以像宏一样展开,所以没有函数调用的开销。 内联
    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(); 表示( )。 该函数能抛出自定义类型异常