资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、选择题A(1)下列的( )是引用调用。A形参是引用,实参是变量; B形参和实参都是变量;C形参是指针,实参是地址值;D形参是数组名,实参是数组名。C(2)作用域运算符的功能是( )A给定作用域的大小; 表示作用域的级别的;C某个成员是属于哪个类的; 指出作用域的范围的。D(3)下列的各函数中,( )不是类的成员函数。A 构造函数;析构函数;拷贝初始化构造函数;友元函数。D(4)下面( )不是构造函数的特征。A构造函数可以重载; 构造函数可以设置缺省参数;构造函数的函数名和类名相同;构造函数必须指定返回值类型。C(5)下述静态数据成员的特性中,( )是错误的。A 静态数据成员要在类体外进行初始化;B 说明静态数据成员时前边要加修饰符static;C 静态数据成员不是所有对象所共有的;D 引用静态数据成员时,要在静态数据成员名前加和作用域运算符。C(6)已知类A有三个公有成员:void f1(int), void f2(int) 和int a,则( )是指向类A成员函数的指针。A *p; B. int A:*pc=&A:a;C void(A :*pa)(int);. A *p;C(7)下列关于对象数组的描述中,( )是错的。对象数组的数组名是一个地址常量;对象数组的下标是从开始的;对象数组只能赋初值,不能被赋值;对象数组的数组元素是同一个类的对象B(8)下列定义中,( )是定义指向类A的对象数组的指针。AA *p5;A (*p) 5;(A *) p5; A *p ;A(9)说明语句const char *ptr;中,ptr是( )。A指向字符常量的指针; 指向字符的常量指针;指向字符串常量的指针; 指向字符串的常量指针。B(10)关于new运算符的下列描述中,( )是错的. 使用它创建对象时要调用构造函数;使用它创建对象数组时必须指定初始值;它可以用来动态创建对象和对象数组;使用它创建的对象或对象数组可以使用运算符delete删除。答:(1)A (2)C (3)D( 4)D( 5)C( 6)C (7)C (8)B (9)A (10)BC(1) 派生类的对象对它的基类成员中( )是可以访问的公有继承的保护成员;公有继承的私有成员;公有继承的公有成员;私有继承的公有成员D(2) 下面关于派生类的描述中,( )是错的。一个派生类可以作为另一个派生类的基类;派生类至少有一个基类;派生类的成员除了它自己的成员外,还包含了它的基类的成员 派生类中继承的基类成员的访问权限到派生类保持不变。C(3)派生类的构造函数的成员初始化列表中,不能包含( )基类的构造函数调用; 派生类对象成员的初始化;基类对象成员的初始化; 派生类中一般数据成员的初始化B(4)设置虚基类的目的是( ) 减少目标代码;消除二义性;提高运行效率; 简化程序。A(5) 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()一次;二次;多次; 与虚基类下面的派生类个数有关答案:(1) (2)D (3) (4)B (5)AA(1) 以下保留字( )不能出现在说明虚函数原型的语句中。Astatic B. operator C. void D. const .D(2) 以下关于虚函数和纯虚函数的说法中,( )是不正确的A在派生类中虚函数可以不用关键字virtual说明。B. 虚函数在派生类中可以不重定义。C. 不能为虚函数定义缺省操作。D. 纯虚函数在派生类中可以不重定义。C(3) 以下关于动态绑定的说法中,正确的是( )A虚基类是动态绑定的。B. 指针是动态绑定的。C. 所有的虚函数和纯虚函数都是动态绑定的。D. 动态绑定与编译系统无关。C(4) 以下关于抽象类的说法中,( )是不正确的A不可创建抽象类的实例。B. 可以声明抽象类的引用。C. 抽象类的派生类也是抽象类。D. 抽象类的派生类也可以是抽象类。(5) B以下关于抽象类的说法中,只有( )是正确的A定义抽象类的目的是软件重用。B. 定义抽象类是为了提高访问效率。C. 定义抽象类是使指针的使用更灵活。D. 抽象类提供了对类进行分类的机制。(6) D以下关于多态性的说法中,( )是不正确的A每个多态类的对象有一个虚表指针。B. 虚函数调用与this指针无关。C. 每个多态类的基类都有一个虚函数表。D. 多态类的每一个派生类都有一个虚函数表。单项选择题答案:(1) A (2) D (3) C (4) C (5) B (6) DD(1)下列不是C+流对象的是( ) A.cout B.cin C.cerr D.ostreamA(2)已知:int w=-3,x=10,z=7 执行下面的语句的输出结果为( )cout(10?x+100:x-10) (w+|z+) (!wz) (w&z) A. 0111 B.1111 C.0101 D.0100C(3)void main()coutsetfill(*)setw(10)10endl;的输出结果为( ) A. $ 10 10 B.*10 C. *10 D.*1010D(4)C+所有输入和输出流的基类是( ) A.stream.h B.iostream.h C.cin和cout D.iosB(5)文件的输入与输出流是( ) A. iostream.h B. ifstream和ofstream C. istream_withassign,ostream_withassign D. istream和ostreamC(6)语句coutoct12;的输出结果是 转为八进制数 0011 1100 14 A.12 B.1100 C.14 D. C B(7)对进行重载的语句 istream & operatora D. x.aB 109. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。 A. x.a B. x.a() C. x-a D. x-a()C 110. 假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( )。 A. px(a) B. pxa C. px-a D. px.aD 111. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。 A. x.a B. x.a() C. x-GetValue() D. x.GetValue() A 112. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( )。 A. int AA:a() B. int
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号