展开全部
输出结果为:
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
}
这题的主要考点为:静态成员变量与普通成员变量的区别。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询