资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
一、 单项选择题1. 函数重载是指( A ) 。A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取相同的函数名,并且函数的返回类型相同2. 下列对引用的陈述中不正确的是( C ) 。A. 每一个引用都是其所引用对象的别名 ,因此必须初始化B. 形式上针对引用的操作实际上作用于它所引用的对象C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D. 不需要单独为引用分配存储空间3. 关于封装,下列说法中不正确的是( A ) 。A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的4. 假定 AA 为一个类,a 为该类公有的数据成员, px 为指向该类对象的一个指针,则访问px 所指对象中数据成员 a 的格式为( C ) 。A. px(a) B. pxa C. px-a D. px.a5. 假定 AA 为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( A ) 。A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a()6. 类的构造函数是在定义该类的一个( C )时被自动调用执行的。A. 成员函数 B. 数据成员 C. 对象 D. 友元函数7.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C ) A.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用 C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类的指针8.对于类定义 class A public: virtual void func1( ) void func2( ) ;class B:public A public: void func1( )cout和作用域运算符;D、 静态数据成员不是所有对象所共用的。11. 以下关于函数模板叙述正确的是( C ) 。A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型12. 下列( B )的调用方式是引用调用。A. 形参和实参都是变量 B.形参是指针,实参是地址值C. 形参是引用,实参是变量 D.形参是变量,实参是地址值13. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A ) 。A. 内联函数 B.重载函数 C.递归函数 D. 函数模板14. 面向对象方法的多态性是指( C ) 。A. 一个类可以派生出多个特殊类B. 一个对象在不同的运行环境中可以有不同的变体C. 针对一消息,不同的对象可以以适合自身的方式加以响应D. 一个对象可以是由多个其他对象组合而成的15. 在类作用域中能够直接使用该类的( D )成员名进行访问。A. 私有 B. 公用 C. 保护 D. 任何16. 假定一个类 AB 只含有一个整型数据成员 a,用户为该类定义的带参构造函数可以为( D )。A. AB() B. AB(): a(0)C. AB(int aa=0) a=aa; D. AB(int aa) 17. 对于任一个类,用户所能定义的构造函数的个数至多为( D )。A. 0 B. 1 C. 2 D. 任意个18. 对类对象成员的初始化是通过构造函数中给出的( D )实现的。A. 函数体 B. 初始化表 C. 参数表 D. 初始化表或函数体19. 被非静态成员函数访问的类的数据成员( A )。A. 可以是非静态数据成员或静态数据成员 B. 不可能是类的静态数据成员C. 只能是类的非静态数据成员 D. 只能是类的静态数据成员20. 引入友元的主要目的是为了( C ) 。A. 增强数据安全性 B. 提高程序的可靠性C. 提高程序的效率和灵活性 D. 保证类的封装性21下面有关重载函数的描述中,正确的是( C ) 。A)重载函数必须具有不同的返回值类型 B)重载函数形参个数必须不同C)重载函数必须具有不同的形参表 D)重载函数名可以不同22假定 MyCIass 为一个类,那么下列的函数说明中, ( D )为该类的析构函数。A)voidMyClass(); B)MyClass(int n);C)MyClass( ); D)MyClass( );23 ( A )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。 A)模板 B)类 C)对象 D)函数24下面关于静态成员函数的途术中错语的是( B ) 。A) 静态成员函数可以有返回值 B) this 指针可以指向静态成员函数C) 静态成员函数可以具有指针参数 D) 静态成员函数可有具有返回值类型25定义类模板时要使用关键字( D ) 。A)private B) public C)delete D)template26下列是重载乘法运算符的函数原型声明,其中错误的是( A ) 。A)MyClass operator*(double,double);B)MyClass operator*(double,MyClass);C)MyClass operator*(MyClass,double);D)MyClass operator*(MyClass,MyClass);27以下( C )成员函数表示纯虚函数。A)virtual int fun(int) B)void fun(int)=0C)virtual void fun()=0 D)virtual void fun(int) 28关于纯虚函数,下列表述中正确的是( A ) 。A)纯虚函数的声明总是以=0结束 B)含有纯虚函数的类可以定义对象C)含有纯虚函数的类是抽象类 D)上面都是错误的 29 ( C )解决二义性问题。A)能使用作用域分辨操作符 B) 只能使用虚基类C) 使用作用域分辨操作符或虚基类 D) 上面都不能30实现编译时的多态性要使用( A ) 。A)重载函数 B)析构函数 C)构造函数 D)虚函数31、C+语言是从早期的 C 语言逐渐发展演变而来的.与 C 语言相比,它在求解问题方法上进行的最大改进是(B) A、面向过程B、面向对象C、安全性D、复用性 32、考虑函数原型 void test(int a,int b=7,char=*),下面的函数调用中,属于不合法调用的是(C) A、test(5); B 、test(5,8); C 、test(6,#) D 、test(0,0.*);33、下面有关重载函数的说法中正确的是(C) A、重载函数必须具有不同的返回值类型; B、重载函数形参个数必须不同; C、重载函数必须有不同的形参列表 D、重载函数名可以不同;34、下列关于构造函数的描述中,错误的是(D) A、构造函数可以设置默认参数;B 、构造函数在定义类对象时自动执行 C、构造函数可以是内联函数; D 、构造函数不可以重载35. 关于对象概念的描述中, (A )是错误的。A、 对象就是 C 语言中的结构变量; B、 对象代表着正在创建的系统中的一个实体; C、 对象是一个状态和操作(或方法)的封装体 ; D、 对象之间的信息传递是通过消息进行的 ;36. 对于 int *pa5;的描述, (D )是正确的。A、 pa 是一个指向数组的指针,所指向的数组是 5 个 int 型元素;B、 pa 是一个指向某个数组中第 5 个元素的指针,该元素是 int 型变量;C、 pa5表示某个数组的第 5 个元素的值;D、 pa 是一个具有 5 个元素的指针数组,每个元素是一个 int 型指针;37. 下述静态数据成员的特征中, ( D )是错误的。A、 说明静态数据成员时前边要加修饰符 static;B、 静态数据成员要在类体外进行初始化;C、 引用静态数据成员时,要在静态数据成员名前加 和作用域运算符;D、 静态数据成员不是所有对象所共用的。38. ( A )是析构函数的特征。A、 一个类中只能定义一个析构函数 ; B、 析构函数与类名不同;C、 析构函数的定义只能在类体内 ; D、 析构函数可以有一个或多个参数。39. 已知:p 是一个指向类 A 数据成员 m 的指针,A1 是类 A 的一个对象。如果要给 m赋值为 5, ( C )是正确的。A、 A1.p=5; B、 A1-p=5;C、 A1.*p=5; D、 *A1.p=5;40. 派生类的对象对它的基类成员中( C )是可以访问的。A、 公有继承的公有成员; B、 公有继承的私有成员;C、 公有继承的保护成员;D、 私有继承的公有成员。41.下列表示引用的方法中,正确的是(A ) 。(A) int m=10; int &x=m; (B) int m=10; int &y=10; (C) int m=10; int &z; (D) int m=10; ifloat &t=&m;42.下列标识符中, ( C )是文件作用域。(A) 函数形参 (B) 语句标号(C) 外部静态标识符 (D) 自动类标识符43.在程序中,函数声明语句正确位置是(D )(A) 随便任何位置(B) 不包含在另一函数中的任何位置。(C) 该函数使用前的任何位置(D) 该函数使用前的任何位置,但不包含在另一函数中44.下面有关函数重载的程序段正确的是(A ) 。(A) int fun(int x, int y); int fun(float x, float y);(B) int fun(int x, int y); int fun(int a, int b);(C) float fun(int x, int y); int fun(int x, int y);( D) int main(); void main();45.返回类型就是函数返回结果值的数据类型。返回类型可以是(C )(A) 除数组和类以外的任意数据类型(B) 除数组和结构类型以外的任意数据类型(C) 除数组类型以外的任意数据类型(D) 除指针和引用类型以外的任意数据类型46.下面关于带默
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号