已知类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。