面向对象程序设计-学习指南一、选择题1.继承机制的作用是()A.信息隐藏B.数据封装C.定义新类D.数据抽象2.类的析构函数的作用是()A.一般成员函数B.类的初始化C.对象的初始化D.删除对象创建的所有对象3.类的析构函数是在()调用的。A.类创建时B.创建对象时C.删除对象时D.不自动调用4.在()情况下适宜采用inline定义内联函数。A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用5.如果类A被说明成类B的友元,则()A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元6.在类中声明转换函数时不能指定()A.参数B.访问权限C.操作D.标识符7.在公有继承的情况下,基类成员在派生类中的访问权限()A.受限制B.保持不变C.受保护D.不受保护8.C++类体系中,不能被派生类继承的有()A.转换函数B.构造函数C.虚函数D.静态成员函数9.假定AB为一个类,则执行ABx;语句时将自动调用该类的()A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数10.C++语言建立类族是通过()A.类的嵌套B.类的继承C.虚函数D.抽象类11.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念12.下列符号不能组成标识符的是()A.连接符B.下划线C.大小写字母D.数字字符13.类型修饰符unsigned不能修饰()A.charB.intC.longintD.float14.在inta=3,int*p=&a;中,*p的值是()A.变量a的地址值B.无意义C.变量p的地址值D.315.下列关于指针的操作中,错误的是()A.两个同类型的指针可以进行比较运算B.可以用一个空指针赋给某个指针C.一个指针可以加上两个整数之差D.两个同类型的指针可以相加16.重载函数在调用时选择的依据中,错误的是()A.函数的参数B.参数的类型C.函数的名字D.函数的类型17.一个函数功能不太复杂,但要求被频繁调用,选用()A.内联函数B.重载函数C.递归函数D.嵌套函数18.下列不是描述类的成员函数的是()A.构造函数B.析构函数C.友元函数D.拷贝构造函数19.构造函数不具备的特征的是()A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明20.通常,拷贝构造函数的参数是()A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名21、下列关于类型转换的描述中,()是错误的。A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;B、逗号表达式的类型是最后一个表达式的类型;C、赋值表达式的类型是左值的类型;D、由低向高的类型转换是保值映射。22、()不是构造函数的特征。A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。23、在C++中,关于下列设置参数默认值的描述中,()是正确的。A、不允许设置参数的默认值;B、设置参数默认值只能在定义函数时设置;C、设置参数默认值时,应该是先设置右边的,再设置左边的;D、设置参数默认值时,应该全部参数都设置。24、关于new运算符的下列描述中,()是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值。25、重载函数在调用时选择的依据中,()是错误的。A、参数个数;B、参数的类型;C、函数名字;D、函数的类型26、下列描述中,()是抽象类的特性。A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。27、()是析构函数的特征。A、一个类中只能定义一个析构函数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、析构函数可以有一个或多个参数;28、关于delete运算符的下列描述中,()是错误的。A、它必须用于new返回的指针;B、它也适用于空指针;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符,不管所删除数组的维数。29、constint*p说明不能修改()。A、p指针;B、p指针指向的变量...