有如下程序:
#include<iostream>
using namespace std;
int i= 1 ;
class Fun
public:
static int i;
int value() return i- 1;
int value()const return i+ 1;
;
int Fun: :i=2;
int main()
int i=3;
Fun fun1;
const Fun tim2;
______
return 0;
若程序的输出结果是:
123
则程序中横线处的与居室( )。
A) cout<<fim 1.value()<<Fun::i<<fun2.value();
B) cout<<Fun: :i<<fun1.value()<<fun2.value();
C) cout<<fun1.value()<<fun2.value()<<Fun: :i;
D) cout<<fun2.value()<<Fun: :i<<fun1.value();
参考答案:A
解析: 此题因为定义的变量i是static类型的(main()函数内部的i只是一个局部变量),所以,选项A) 中fun1.value()的返回值是1,Fun::i引用的是外部变量会输出2;fun2.value();会调用常成员函数intvalue()const{reran i+1;}使得外部静态变量i的值增加为3,故输出3。