c++题目求详细解题步骤

c++题目求详细解题步骤k怎么求

输出结果为:

i=0,k=2
i=0,k=2

详细解析如下:

#include <iostream>

class CSample
{
private:
    int i;
    static int k;
public:
    CSample();
    void Display();
};

//CSample类的构造函数
CSample::CSample()
{
    i = 0;
    k++;
}
void CSample::Display()
{
    std::cout << "i=" << i << ",k=" << k << std::endl;
}
int CSample::k = 0;//定义k的初始值为0
void main()
{
    /*这行调用CSample的构造函数分别构造a和b,
    因为k为静态变量,所有实例共享,所以a先构造完时,a的i=0,k=1,
    然后b构造完时,b的i=0,k=2*/
    CSample a, b;
    
    a.Display();//输出i=0,k=2
    b.Display();//输出i=0,k=2
}

这题的主要考点为:静态成员变量与普通成员变量的区别。

温馨提示:答案为网友推荐,仅供参考
相似回答