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

admin2021-07-02  14

问题 有如下程序:
    #include
    using namespaee std;
    class clock
    {
    public:
    clock():seeonds(0){};
    clock&:operator++()
    {
    this->seconds++:
    return*this;
    }
    void display()
    {
    cout<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

解析 题意中,clock类重载了前缀增量运算符“++”,前缀增量运算符“++”函数中,首先将成员seconds自增l,然后返回对象本身。main()函数中,首先定义clock类对象c,使用clock类的默认构造函数,将成员seconds初始化为0,然后调用前缀自增运算符完成seconds的增1操作,再返回c本身,所以此时c.seconds的值为1,调用display()输出值为1;再连续两次调用c的自增运算符,完成seconds的两次增1操作,此时c.seconds的值为3,再调用display()输出值为3;最后再次调用display()函数输出3,所以本题输出:13 3。本题答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/bRh0FFFM
0

最新回复(0)