有如下程序: #include<iostream> using namespace std; class clock { public: clock( ):seconds(O){ }; clock&o

admin2018-06-19  24

问题 有如下程序:
    #include<iostream>
    using namespace std;
    class clock
    {
    public:
    clock( ):seconds(O){ };
    clock&operator++( )
    {
    this->seconds++;
    return * this;
    }
    void display( )
    {
    cout<<this->seconds<<’ ’:
    private:
    int seconds;
    };
    int main ( )
    {
    clock c;
    ++c:
    c.display( );
    (++(++c)).display( );
    c.display( );
    return 0;
    }
    运行后的输出结果是(    )。

选项 A、1 3 2
B、1 3 3
C、1 2 3
D、1 2 2

答案B

解析 main( )函数中首先定义clock类对象c,使用默认构造函数,初始化c的成员seconds为0;然后调用重载的增量运算符函数,将c的成员seeonds自增1,此时c.seconds的值为1;再调用display( )函数输出c.seconds,结果为1;接下来连续两次调用增量运算符函数,将c.seconds增加2,此时c.seconds的值为3,再调用display( )函数输出3,最后再次调用display( )函数输出3,综上运行结果为:1 3 3;本题答案为B。
转载请注明原文地址:https://jikaoti.com/ti/LEt0FFFM
0

最新回复(0)