以下程序的执行结果为( )。 #include class Sample { int n: public: Sample(int i){n=i;} operator++(){n++;}

admin2020-10-21  42

问题 以下程序的执行结果为(    )。
    #include
    class Sample
    {
    int n:
    public:
      Sample(int i){n=i;}
      operator++(){n++;}   ∥前缀重载运算符
      operator++(int){n+=2;}  ∥后缀重载运算符
      void disp()
    {
    cout<<"n="<    }
    };
    void main()
    {
    Sample A(2),B(2);
    A++:
    ++B:
    A.disp();
    B.disp();
    }

选项 A、n=4  n=3
B、n=1  n=2
C、n=3  n=4
D、n=5  n=6

答案A

解析 此题考查的是“++”运算符的重载。为了区分前缀和后缀运算符,规定:重载后缀运算符时必须多一个虚拟参数:int。本题中,  A(2)首先给n赋值2,语句A++,调用的是后缀运算符重载语句,使得n加2变为4。B(2)首先给n赋值2,然后语句++B,调用前缀运算符重载函数,使得n加1。因此最终的输出结果是n=4 n=3。
转载请注明原文地址:https://kaotiyun.com/show/8Nyp777K
0

相关试题推荐
最新回复(0)