有如下程序: #include using namespace std; class clock { public: clock():seconds(0){}; clock& operator++()

admin2017-12-14  22

问题 有如下程序:
    #include
    using namespace std;
    class clock
    {
    public:
    clock():seconds(0){};
    clock& operator++()
    {
    this->seconds++;
    return*this;
    }
    void display()
    {
    cout<seconds<<’’;
    }
    private:
    int seconds;
    };
    int main()
    {
    clock c;
    ++c;
    c.display();
    (++(++e)).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://kaotiyun.com/show/ekAp777K
0

最新回复(0)