练习题
一、填空题
1、C++控制台应用程序的上机步骤是,先通过编辑作得到扩展名为.cpp 的源程序,再通
    编译   操作得到扩展名为.obj的目标程序,最后通过连接操作得到扩展名为    .exe的可执行程序。
2、C++程序的三种基本结构分别是    顺序   结构、    选择   结构和   循环 结构。
3、在 C++中,switch 语句只能用于    int型     char型     枚举 类型数据。
4、当定义的 C++函数  无返回值    时,则函数类型用 void 关键字声明。在 C++程序中函数直接或间接地调用该函数自身的过程,被称为      递归调用  
5、面向对象程序设计中的抽象的作用是 表示同一类事物的本质             
6、为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定
义为    私有的 
7、类可以体现数据的     封装性      信息隐蔽    
8、类拥有两类成员,即      数据成员   成员函数      
9、如果类 A 继承自类 B,则类 A 称为  派生类       ,类 B 称为  基类       
10、面向对象程序设计有四个主要特点:  抽象   继承       封装          多态性  
11、构造函数不需要用户来调用它,而是    统在建立对象时自动调用        
12、析构函数的作用并不是删除对象,而是  撤销对象数据成员的存储空间       
13、静态数据成员的初始化形式为  数据类型 类名:: 静态数据成员名=初值             
14、在继承中由基类派生新类的过程经历了    吸收基类成员     调整基类成员  声明添加新成员   三个步骤。
15、在一个类中以另一个类的对象作为数据成员的,称为      子对象        
16、设置虚基类的目的是   在继承间接基类时只保留一份成员             ,可通过关键字    virtual        标识虚基类。
17、从系统实现的角度看,多态性可分为两类: 静态多态性     动态多态性  
二、单项选择
0、this指针知识点。
1、面向对象程序设计的英文缩写为(    )。
A、OOA  B、OOD  C、OOT  D、OOP
2、在面向对象程序设计框架中,( )是程序的基本单位。
A、对象  B、函数  C、块  D、类   
3、一个 C++控制台应用程序的执行是从( )。
A、本程序的主函数开始,到本程序的最后一个函数结束。
B、本程序的第一个函数开始,到本程序的最后一个函数结束。
C、本程序的第一个函数开始,到本程序的主函数结束。
D、本程序的主函数开始,到本程序的主函数结束。
4、下列 C++数据类型所需存储空间最大的是( )。
A、long  B、float  C、int D、double
5、在 C++语言中,char 型数据在内存中的存储形式是( )。
A、原码  B、反码  C、补码  D、ASCII 码
6、在 C++语言中,所有的编译预处理命令均以( )开头。
A、¥  B、&  C、*  D、#
7、C++是通过引用运算符( )来定义一个引用的。
A、*  B、<<  C、->  D、&
8、( )是给对象取了一个别名,它引入对象的同义词。
A、枚举  B、结构  C、指针  D、引用
9、cin 是 C++中的标准( )。
A、输出流对象  B、控制台  C、输入函数  D、输入流对象
10、cout 是 C++中的标准( )。
A、输入流对象  B、控制台  C、输出函数  D、输出流对象
11、下列有关 C++函数的叙述错误的是( )。
A、缺省函数类型为 int 类型  B、同一个函数允许多次调用
C、函数允许直接或间接的调用自身  D、允许在主函数中定义其它函数
12、C++中,将实参的值传送给形参,形参是实参的一个拷贝,这种方式称为( )。
A、递归方式调用  B、嵌套方式调用
C、引用方式调用  D、传值方式调用
13、函数的值通过 return 语句返回,下面关于 return 语句的形式描述错误的是( )。
A、return(表达式); B、一个 return 语句只能返回一个函数值;
C、return 表达式
D、一个 return 语句可以返回多个函数值
14、下列有关 C++数组的叙述错误的是( )。
A、数组元素下标从 0 开始  B、数组中的元素类型必须相同
C、数组名表示数组的首地址  D、不能对数组元素初始化
15、C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型
不相同,这些同名的函数用来实现不同的功能,这就是( )。
A、函数的重复定义  B、函数的同名覆盖
C、函数的重新定义   D、函数的重载
16、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( )。
A、参数个数  B、参数的类型  C、函数的名称  D、函数的类型
17、在 C++中,关于下列设置默认参数值的描述中,( )是正确的。
A、默认参数不会导致副作用
B、设置默认参数值时,必须全部都设置
C、只能在函数的定义性声明中指定参数的默认值
D、在指定了默认值的参数右边,不能出现没有指定默认值的参数
18、在面向对象方法中,( )描述的是具有相似属性与操作的一组对象。
A、对象  B、代码  C、函数  D、类
19、在类定义中,说明成员的访问控制规则的 private、protected、public 可以出现的次数
( )。
A、出现 public 至多一次  B、每种至少一次
C、每种至多一次  D、没有具体限定
20、在关键字 public 后面定义的成员为类的( )。
A、函数成员  B、私有成员  C、受保护成员  D、公有成员
21、在类外给出成员函数定义时,需在函数名前加( )。
A、什么都不加  B、类名  C、对象名:: D、类名::
22、关于成员函数特征的下述描述中,错误的是( )。
A、成员函数可以是静态的  B、成员函数可以设置默认参数
C、成员函数可以重载    D、成员函数一定是内联函数
23、在 C++中声明的具有类类型的数据称为( )。
A、局部变量  B、全局变量  C、类  D、对象
24、下列访问对象中的成员的方法中,错误的是( )。
A、通过对象名和成员运算符访问对象中的成员
B、通过指向对象的指针访问对象中的成员
C、通过对象的引用变量访问对象中成员
D、通过成员名直接访问对象中的成员
25、对象的指针,其含义是指对象空间的( )。
A、一个标志  B、值  C、名  D、起始地址
26、关于构造函数的说法,错误的是( )。
A、构造函数可以有形参  B、构造函数无函数类型
sqrt是什么的缩写
C、构造函数的功能是用来完成对象初始化  D、一个类只能有一个构造函数
27、非成员函数应声明为类的( )才能访问这个类的 private 成员。
A、构造函数  B、析构函数  C、拷贝构造函数  D、友元函数
28、一个类的友元函数或友元类能够通过成员操作符访问该类的( )。
A、私有成员  B、公有成员
C、保护成员  D、公有成员、保护成员和私有成员
29、通过 C++的( )机制,可以从现存类中构建新的类。
A、 信息隐藏  B、数据封装  C、数据抽象  D、继承与派生
30、C++中,若希望基类的公有成员在派生类中仍为公有成员,应采用( )。
A、单继承  B、私有继承  C、受保护继承  D、公有继承
31、通过派生类对象对它的基类成员中( )是可以访问的。
A、私有继承的公有成员  B、公有继承的私有成员
C、公有继承的保护成员  D、公有继承的公有成员
32、C++允许一个派生类同时继承多个基类,这种行为称为( )。