#include<iostream.h>
class Test
{
int n;
static int sum;
public:
Test(int x){n=x;}
void add(){_____________;}
void disp()
{
cout<<{"n="<<n<<",sum="<<sum<<endl;
}
}

完成程序题:请按空格顺序填写答案。

使程序执行结果为:
n=2,sum=2
n=3,sum=5
n=5,sum=10


#include<iostream.h>
class Test
{
int n;
static int sum;
public:
Test(int x){n=x;}
void add(){_____________;}
void disp()
{
cout<<{"n="<<n<<",sum="<<sum<<endl;
}
} ;
int _____________=0;
void main()
{
Test a(2),b(3),c(5);
a.add();
a.disp();
b.add();
b.disp();
c.add();
c.disp();
}


【正确答案】:

第1空:SUM=SUM+N
第2空:TEST::SUM


【题目解析】:

在类体内定义类的成员时,在前面添加static关键字后,该成员即成为静态成员。静态成员变量只有一份,被同类所有对象共享。

根据题目要求的输出结果来看,sum应该是累加的结果,故第一空填:sum=sum+n 

访问静态成员时,则可以通过“类名::成员名”的方式访问,使用Test::来限定sum,表明sum是静态成员变量。


Top