有如下程序: #include #include using namespace std; class MyBag{ public: MyBag(string br,string or):brand(br),

admin2021-06-10  5

问题 有如下程序:
    #include
    #include
    using namespace std;
    class MyBag{
    public:
    MyBag(string br,string or):brand(br),color(or){++count;}
    static int GetCount(){return count;}
    private:
    string brand,color;
    static int count;
    };
    int MyBag::count=0;
    int main(){
    MyBag one(’’CityLife’’,’’Gray’’);
    tout<    MyBag*ptr=new MyBag(’’Coach’’,’’Black’’);
    cout<    return 0;
    }
    运行时的输出结果是(    )。

选项 A、12
B、21
C、22
D、11

答案A

解析 静态成员变量count在构造函数中完成前缀自增1的运算,所以语句MyBag one(“CityLife”,“Gray”)在调用构造函数时,完成++count,此时调用one.GetCount()输出count的值为1;同理new My-Bag语句也会调用构造函数,完成++count,此时count的值为2,通过类名MyBag调用GetCount()时,输出count的值为2,最终输出结果为12,答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/7Lh0FFFM
0

最新回复(0)