二级C++笔试-364
(总分100,考试时间90分钟)
一、选择题
1. C++本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由类istream和(    )提供。
A. fstream        B. iostream
C. ostream        D. cin
2. 继承具有(    ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A. 规律性        B. 传递性
C. 重复性        D. 多样性
3. 下面叙述错误的是(    )。
A. 派生类可以使用private派生
B. 对基类成员的访问必须是无二义性的
C. 基类成员的访问能力在派生类中维持不变
D. 赋值兼容规则也适用于多继承的组合
4. 以下程序段的执行结果为(    )。
    #include< iostream.h>
    #definePLUS(x,y)  x+y
    void main ()
    int x=1,y=2,Z=3,sum:
    sum=PLUS (x+y,Z) * PLUS (y,Z):
    cout<<"SUM="<<sum;
    cout<<endl:
A. SUM=9        B. SUM=12
C. SUM=18        D. SUM=30
5. 下列for循环的次数为(    )。
    for( int i=0,x=0;!x&&i<=5;i++)
指向类成员函数的指针
A. 5        B. 6
C. 1        D. 无限
6. 多态性指的是(    )。
A. 以任何方式调用一个虚函数
B. 以任何方式调用一个纯虚函数
C. 借助于指向对象的基类指针或引用调用一个虚函数
D. 借助于指向对象的基类指针或引用调用一个纯虚函数
7. 若有以下函数调用语句:
    f( m+n,x+y,f(m+n,z,(x,y)));
    在此函数调用语句中实参的个数是(    )。
A. 6        B. 5
C. 4        D. 3
8. 一个函数带有参数说明时,则参数的默认值应该在(    )中给出。
A.函数定义    B.函数声明
C. 函数定义或声明    D.函数调用。
9. 派生类的对象对它的基类成员中(    )是可以访问的。
A. 公有继承的公有成员        B. 公有继承的私有成员
C. 公有继承的保护成员        D. 私有继承的公有成员
10. C++对C语言作了很多改进,下列描述中(    )使得C语言发生了质变,即从面向过程变成面向对象。
A. 增加了一些新的运算符        B. 允许函数重载,并允许设置默认参数
C. 规定函数说明必须用原型        D. 引进了类和对象的概念
11. 下列for循环的循环体执行次数为(    )。
    for (int i=O,j=10;i=j=10;i++,j--)
A. 0        B. 1
C. 10        D. 无限
12. 关于关键字class和typename,下列描述正确的是(    )。
A. 程序中所有的class都可以替换为typename
B. 程序中所有的typename都可以替换为class
C. A和B都可以
D. A和B都不可以
13. 下面表示打开c盘存在文件abc而,输出的内容加在末尾的是(    )。
A. ofstream myf("c:\\abc");
B. ofstream myf("c:\\abc",ios::outlios:: trund);
C. ofstream myf("c:\\abc",ios::outlios:: ate);
D. ofstream myf("c:\\abc",ios::out);
14. 已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列Myst x (3.2),y(5.5),z(0.0);
    z=8.9-y;
    y=x-6.3;
    能够正常运行,运算符函数operator-应在类中声明为(    )。
A. friend Myst operator- (Myst&, Myst&);
B. friend Myst operator- (Myst,Myst);
C. friend Myst operator- (Myst,Myst&);
D. friend Myst operator- (Myst&,Myst);
15. 下列格式化I/O的操作符中,(    )是设置域宽的。
A. ws        B. oct
C. setfill(int)        D. setw(int)
16. 下列程序中划线处正确的语句是(    )。
    # include <iostream>
    using namespace std;
    class Base
   
    public:
      void fun()cout<<"Base:: fun" <<endl;
    ;
    class Derived:public Base
   
      void fun()
     
      ______    ∥显式调用基类的函数fun()
      cout<<"Derived:: fun"<<endl;
   
  ;
A. fun();        B. Base.fun();
C. Base::fun();        D. Base- >fun();
17. 对于重载的运算符>>,它是一个(    )。
A. 用于输入的友元函数        B. 用于输入的成员函数
C. 用于输出的友元函数        D. 用于输出的成员函数
18. 对于拷贝初始化构造函数和赋值操作的关系,正确的描述是(    )。
A. 拷贝初始化构造函数和赋值操作是完全一样的操作
B. 进行赋值操作时,会调用类的构造函数
C. 当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化
D. 拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义
19. 只能作为成员函数重载的是(    )。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。