1、期末模拟题2c+1. 在一个被调用函数中,关于return语句的描述错误的是( B )A. 被调用的函数可以不用return语句 B. 被调用的函数可以使用多个return语句C. 被调用的函数如果有返回值,就一定要有return语句D. 被调用的函数中,一个return语句可以返回多个值给调用和函数2. 下面关于成员函数的叙述中错误的是( A )A. 成员函数一定是内联函数B. 成员函数可以设置参数默认值C. 成员函数可以重载D. 成员函数可以是静态的3. 派生类的对象可以访问基类成员中的( C )A. 公有继承的保护成员 B. 保护继承的公有成员C. 公有继承的公有成员 D. 保护继承的保
2、护成员4. 在带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数传递参数,这样将对虚基类的子对象初始化( D )A. 与虚基类下面的派生类个数有关 B. 多次C. 二次 D. 一次5. 在磁盘文件操作中,以追加方式打开文件的访问方式常量是( C )A. in B. out C. app D. ate6. 假定A为一个类,则执行“A a(4),b3,*p2;”时,调用该类构造函数的次数为( B )A. 3 B. 4 C. 6 D. 97. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( B )A. AB ope
3、rator +(AB&a,AB&b) B. AB operator +(AB&a)C. operator +(AB a) D. AB&operator+( )8. 若类的成员函数是在类中定义的,则默认为(D )函数A 构造 B. 析构 C. 友元 D. 内联(inline)9. 在下面的函数声明中,存在语法错误的是(D )A void BC(int a, int) B。 void BD(int, int) C void BE(int, int=5) D。 int BF(int x ; int y)10. 下面是关于构造函数的说法,不正确的是(C )。 A. C+规定,每一个类必须有一个构造函数
4、,没有构造函数就不能创建对象 B. 如果没有提供一个类的构造函数(一个都未提供),则C+提供一个默认的构造函数,该默认构造函数是个无参构造函数,它仅仅负责创建对象 C. 虽然一个类定义了一个构造函数(不一定是无参构造函数),C+仍然提供默认的构造函数 D. 与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,否则,对象值是随机的11. 多重继承的构造顺序一般可分为4步,下面给出这4个步骤:step1: 任何非虚拟基类的构造函数按照它们被继承的顺序构造。step2: 任何虚拟基类的构造函数按照它们被继承的顺序构造。step3: 任何成员对象的构造函数
5、按照它们声明的顺序构造。step4: 类自己的构造函数。这4个步骤的正确顺序是( C )。 A. step4、step3、step1、step2 B. step2、step4、step3、step1 C. step2、step1、step3、step4 D. step3、step4、step1、step212. 友元运算符obj+被C+编译器解释为( B )。 A. operator+(obj) B. operator+(obj,0)B. obj.operator+( ) D. obj.operator+(0)13. 声明类test的复制构造函数的正确形式是( D )。 A. int test
6、 B. void test C. test(void) D. test(test&) 14. 如果两个以上的函数,具有如下特点:只有参数类型不同,返回值类型不同,功能完全一样,则为了提高代码的可重用性,可以使用( A )A重载函数 B内联函数 C函数模板 D.递归调用15. 关于友元类的描述,错误的是(C)A. 友元类被说明在一个类中,它与访问权限无关B. 友元类中的成员函数都是友元函数C. 友元类是被定义在某个类中的D. 如果类Y是类X的友元类,则类X不一定是类Y的友元类16. 下面程序的运行结果是(A )void f( ) static int a=10; int b=1; a=a+b;
7、couta ;void main() f( );f( ); A11 12 B11 11 C12 12 D10 1117. 对于动态分配内存空间描述正确的是( D )A使用new运算符分配的内存空间的长度必需是常量 Bdelete运算符可以释放动态的存储空间和静态的存储空间C由new分配的内存空间是不连续的Ddelete运算符只能释放由new分配的动态存储空间18. 在C+中,下面的运算符不可重载的是( A )A三目运算符?: B. 比较运算符 C. 赋值运算符 D. 逗号运算符01、下列关于C+函数的叙述中,正确的是( C )。 A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值 C
8、)函数在被调用之前必须先声明 D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( A )。 A)一个类只能有一个对象 B)对象是类的具体实例 C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系03、在C+中,用于实现运行时多态性的是( D )。 A)内联函数 B)重载函数 C)模板函数 D)虚函数04、下列关于运算符重载的叙述中,正确的是(B )。 A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载 C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句 coutxendl;错误的是描述是
9、( D )。 A)“cout”是一个输出流对象 B)“endl”的作用是输出回车换行 C)“x”是一个变量 D)“”称作提取运算符06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( B )。 class MyBASE private: int k; public: void set(int n) k=n; int get( )const return k; ; class MyDERIVED: protected MyBASE protected: int j; public: void set(int m, int n) MyBASE:set(m); j=n; i
10、nt get( ) const return MyBASE:get( )+j; ;A)4 B)3 C)2 D)107、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( B )。 A)这是运算符-的重载运算符函数 B)这个函数所重载的运算符是一个一元运算符 C)这是一个成员函数 D)这个函数不改变类的任何数据成员的值08、执行如下的程序段后,输出结果是( A )。 cout.fill(*); cout.width(6); cout.fill(#); cout 123 endl; A)#123 B)123# C)
11、*123 D)123*09、在下列函数原型中,可以作为类AA构造函数的是( D )。 A)void AA(int); B)int AA(); C)AA(int)const; D)AA(int);10、下面四个选项中,( A )是用来声明虚函数的。 A)virtual B)public C)include D)using namespace11、实现运行时的多态性要使用(D )。 A)重载函数 B)构造函数 C)析构函数 D)虚函数12、要实现动态联编,必须通过( A )调用虚函数。 A)对象指针 B)成员名限定 C)对象名 D)派生类名13、以下( C )成员函数表示纯虚函数。 A)virtu
12、al int vf(int); B)void vf(int)=0; C)virtual void vf()=0; D)virtual void vf(int)14、有如下类声明:class XA private: int x; public: XA(int n) x=n; ; class XB: public XA private: int y; public: XB(int a,int b); ; 在构造函数XB的下列定义中,正确的是( B )。 A)XB:XB(int a,int b): x(a),y(b) B)XB:XB(int a,int b): XA(a),y(b) C)XB:XB(
13、int a,int b): x(a),XB(b) D)XB:XB(int a,int b): XA(a),XB(b) 15、在表达式 x+y*z中, + 是作为成员函数重载的运算符,* 是作为非成员函数重载的运算符。则 operator+ 有 个参数,operator* 有 参数。( C ) A)2、2 B)2、1 C)1、2 D)1、116、应在下列程序划线处填入的正确语句是( C )。 class Base public: void fun()coutBase:funendl; ;class Derived:public Base void fun() /显示调用基类的函数fun() co
14、utDerived:funfun();3、根据访问权限的不同,可将类的成员分为三类_ 、_ 和_ 。4、在函数调用过程中,当实参是一个数组名时,对应的形参必须是_ 或_ 。5、指针变量包含另一变量的_ 值。17、面向对象程序设计有四个主要特点,即抽象、封装、_和_。16. 动态内存的分配和释放采用关键词_和_来描述。18、非成员函数应声明为类的_函数才能访问这个类的private成员。19、派生类中的成员不能直接访问基类中的_成员。20、在用class定义一个类时,数据成员和成员函数的默认访问权限是_。21、运算符重载函数可能是类的_函数,也可以是类的_函数,还可以是普通函数。23、含有纯虚函数的类称为_。4假定AB为一个类,则执行”AB a10;”语句时,系统自动调用该类构造函数的次数为_5使用const语句定义一个标识符常量时,则必须对它同时进行_6假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)+;”语句后,p所指对象的值为_7设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1