有如下程序: #include<iostream> using namespace std; int i=1; class Fun { public: static int i; int value(){re

admin2012-01-20  35

问题 有如下程序:    #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 fun 1;    const Fun fun2;    ______    return 0;    }    若程序的输出结果是:    123    则程序中横线处的语句是(    )。  

选项 A、cout<<fun1.value()<<Fun::i<<fun2.value();
B、cout<<Fun::i<<fun1.value()<<fun2.value();   
C、count<<fun.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();会调用常成员函数int valueoconstfrerun i+1;}使得外部静态变量i的值增加为3,故输出3。
转载请注明原文地址:https://jikaoti.com/ti/VKL0FFFM
0

最新回复(0)