问题 填空题

下面程序的运行结果为 【13】
#include <iostream.h>
void main()

unsigned char value=127;
int total=100;
value++;
total+=value;
cout<<total<<end1;

  • A) 227
  • B) 100
  • C) 127
  • D) 27

答案

参考答案:4 10

解析: 本题主要考察C++类中静态数据成员的使用。程序首先定义了类 count,其内部含有private类型数据成员static int n;同时含有public类型构造函数 count()和静态成员函数static inttest(),这两个函数的功能分别是为对象申请系统资源并将静态数据成员n加1和将静态数据成员n加4。主函数前,程序将静态数据成员n初始化为0,该数据成员为所有类count的对象所共有的数据成员;主函数中程序首先执行静态成员函数test()(由于test声明为static,因此其调用时无需通过具体对象),其执行过程中,静态数据成员n应该加4变成n=4,因此此处输出为4;此后程序创建对象c1和c2,由于在每次创建过程中都要调用构造函数count(),而每次调用count()函数后,静态数据成员n值都会加1。因此,创建两个对象之后,n值变为n=6;再次执行test()函数后,n的值再次加4,因此变为n=6+4=10。故程序全部执行后,变量n值变为10,而中间程序输出为“410”。

材料分析题
多项选择题