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

admin2017-07-28  21

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

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

答案B

解析 题意中,clock类重载了前缀增量运算符“++”,前缀增量运算符”++”函数中,首先将成员seconds自增1,然后返回对象本身。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://kaotiyun.com/show/AUAp777K
0

最新回复(0)