已知类Test的定义如下:class Test{ pr

已知类Test的定义如下:

class Test{
private :
    static int num ;
public :
    void print ( int num ) {
        cout << ++ num ;
        cout << ++ this -> num;
    }
};
int Test::num=0;

且有如下程序段:

int main(){
    Test t1,t2;
    t1.print(0);
    t2.print(1);
    return 0;
}

运行这个程序段的输出是( )。

答案
C
解析

t1.print(0)表示给num赋值为0,输出++num,即为输出1,this是对象指 针,指向的是程序对象的地址,然后调用成员函数,因为初始地址为 0,所以执行cout<<++this->num输出的也是1,同理,t2.print(1)是将num 赋值为1,执行cout<<++num和cout<<++this->num输出都为2,所以最后 输出为1122。

题目信息

题号:7735
题型:单选题
知识点:计算机二级
难度:普通