您现在的位置:首页 >> 资料下载 >> 内容

全国计算机等级考试二级笔试样卷C++语言程序设计(4)

时间:2012-9-22 14:26:26 点击:

30有如下程序
#include
using namespace std;
class Base {
protected:
    Base( ){ cout<<'A'; }
    Base(char c){ cout< };
class Derived: public Base{
public:
    Derived( char c ){ cout< };
int main( ){
    Derived d1('B');
    return 0;
}
执行这个程序屏幕上将显示输出

    AB    BBA   CAB       DBB

 

31有如下类定义
class MyBase{
   int k;
public:
   MyBase(int n=0):k(n){ }
   int value( )const{ return k;}
};
class MyDerived: MyBase{
   int j;
public:
   MyDerived(int i): j(i) {}
   int getK( )const{ return k; }
   int getJ( )const{ return j; }
};
编译时发现有一处语法错误对这个错误最准确的描述是

    A)函数getK试图访问基类的私有成员变量k

    B) 在类MyDerived的定义中,基类名MyBase前缺少关键字publicprotectedprivate

    C)类MyDerived 缺少一个无参的构造函数  

    D)类MyDerived的构造函数没有对基类数据成员k进行初始化

 

32在一个派生类对象结束其生命周期时

A先调用派生类的析构函数后调用基类的析构函数      

B先调用基类的析构函数后调用派生类的析构函数  

C如果基类没有定义析构函数,则只调用派生类的析构函数  

D如果派生类没有定义析构函数,则只调用基类的析构函数

 

33)有如下的运算符重载函数定义:
double operator +(int i, int k){ return double(i+k); }

定义有错误,对这个错误最准确的描述是

A+ 只能作为成员函数重载,而这里的 + 是作为非成员函数重载的

    B两个int型参数的和也应该是int型,而这里将 + 的返回类型声明为double  C)没有将运算符重载函数声明为某个类的友元

    DC++已经提供了求两个int型数据之和的运算符 +,不能再定义同样的运算符

 

34语句ofstream f("SALARY.DAT", ios_base::app); 的功能是建立流对象f并试图打开文件SALARY.DATf关联而且

        A若文件存在将其置为空文件若文件不存在打开失败

    B若文件存在将文件指针定位于文件尾若文件不存在建立一个新文件

    C若文件存在,将文件指针定位于文件首;若文件不存在,打开失败

    D若文件存在,打开失败;若文件不存在,建立一个新文件

 

35有如下程序
#include
using namespace std;
class A{
public:
    virtual void func1( ){ cout<<"A1"; }
    void func2( ){ cout<<"A2"; }
};
class B:public A{
public:
    void func1( ){ cout<<"B1"; }
    void func2( ){ cout<<"B2"; }
};
int main( ){
    A *p=new B;
    p->func1( );
    p->func2( );
    return 0;
}
运行此程序屏幕上将显示输出

    A) B1B2     B) A1A2 C) B1A2 D) A1B2

 

作者:不详 来源:网络
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 百斯特教育(www.bestcnedu.cn) © 2018 版权所有 All Rights Reserved.
  • Email:bestcnedu@163.com 电话:4000885996,0471-3818386 蒙ICP备09003591号
  • Powered by Bestcnedu.cn