一起答
单选

如果表达式-x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(  )。

  • A.operator/(x.operator--(),y);
  • B.operator/(operator--(x),y);
  • C.X.operator--().operator/(y);
  • D.y.operator/(operator--(x));
参考答案
查看试卷详情
相关试题
  1. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。函数num(ehar*str)用于返回字符串中非数字的个数。

    例如:abcl23abc45

    返回值为:6

    将函数num补充完整。

    注意:请勿改动主函数main。

    试题程序:

    #include

    intnum(char*str)

    {

    }

    intmain

    {

    charstr[1024];

    cout<<"pleaseinputastring:"<

    cin.getline(str,1024);

    cout<<"charnumberis"<

    return0;

    }

  2. (1)应添加“virtualvoidGetNamt!=0;”。

    (2)应添加“constchar*GetName2”。

    (3)应添加“TC2(char*str)”。

    (4)应添加“m_str[i]=0;”。

    【解析】本题第1处要求“在类TC1中定义接口函数GetName,为纯虚函数”。在C++中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtualvoidGetName=0;”。第2处要求“函数GetName2实现获得名字的缓存,但只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,所以使用常成员函数,其一般形式为“const函数类型函数名”,即“constchar*GetName2”。第3处要求“实现TC2的构造函数”。TC2的构造函数与类TC2的名称应该相同,而且第3处的大括弧中是对字符数组str的操作,所以类TC2的构造函数中的参数为str,即这里补全为“TC2(char*str)”。第4处要求“完成TC2的构造函数,实现对名字的处理”,补全类TC2的构造函数,构造函数中的名字变量str对应于类TC中的成员变量m_str,所以这里补全变量赋值操作“m_str[i]=0;”。

  3. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:

    9,8,7,6,5

    注意:错误的语句在/********error********/的下面,修改该语句即可。其他的语句不能修改。

    试题程序:

    #include(iostream.h>

    classTC

    {

    /********error********/

    TC(inti)

    {

    m_i=i;

    }

    voidprint

    {

    cout<<--m_i<<',';

    }

    public:

    intm_i;

    };

    intmain

    {

    /********error********/

    inti;

    TC04(10);

    while(i>5)

    {

    /********errOr********/

    i++:

    04.print;

    }

    cout<

    return0;

    }

  4. 数据流程图(DFD)是(  )。

    • A.软件概要设计的工具
    • B.软件详细设计的工具
    • C.结构化方法的需求分析工具
    • D.面向对象方法的需求分析工具
  5. 下面的函数调用语句中func函数的实参个数是(  )。

    func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8)));

    • A.3
    • B.4
    • C.5
    • D.8
  6. 有以下程序:

    #include

    usingnamespaeestd;

    classMyClass

    {

    public:

    MyClass(intn){number=n;}

    //拷贝构造函数

    MyClass(MyClass&other){number=other.number;}

    ~MyClass(){}

    private:

    intnumber;

    };

    MyClassfun(MyClassp)

    {

    MyClasstemp(p);

    returntemp;

    }

    intmain()

    {

    MyCIassobj1(10),obj2(O);

    MyClassobj3(obj1);

    obj2=fun(obj3);

    return0;

    程序执行时,MyClass类的拷贝构造函数被调用的次数是(  )。

    • A.5
    • B.4
    • C.3
    • D.2
  7. 下列工具中为需求分析常用工具的是(  )。

    • A.PAD
    • B.PFD
    • C.N-S
    • D.DFD
  8. 下列关于类模板的描述中,错误的是(  )。

    • A.类模板的成员函数都是模板函数
    • B.可以为类模板参数设置默认值
    • C.类模板描述了一组类
    • D.类模板中只允许有一个类型参数
  9. 有如下类定义:

    classXX{

    intxdata;

    public:

    XX(intn=0):xdata(n){}

    };

    classYY:publicXX{

    intydata;

    public:

    YY(intm=0,intn=O):XX(m),ydata(n){}

    };

    YY类的对象包含的数据成员的个数是(  )。

    • A.1
    • B.2
    • C.3
    • D.4
  10. 以下程序的输出结果是(  )。min(  )

    {

    inti=0,a=0;

    while(i<20)

    {

    for(;;)

    {

    if((i%10)==0)break;

    elsei--:

    }

    i+=11;a+=i;

    }

    cout<}

    • A.21
    • B.32
    • C.33
    • D.11