有以下程序:
#include 〈iostream〉
#include 〈string〉
using namespace std;
class visited
private:
int number;
char *name;
public:
static int glob;
void set mes(char *
A.
;
void visited::set mes(char *a)
name=new char[strlen(A) +1];
strcpy(name,A) ;
number=++glob;
int visited::glob-O;
int main()
visited person[10];
int i;
char str[8];
for(i=0;i<5;i++)
cin>>str;
person[i] .set mes(str);
cout<
参考答案:A
解析: 本题考核静态数据成员的应用。分析程序:
①类visited中,定义了两个私有成员:整型变量number和指针变量name。两个公有成员:静态数据变量glob和函数set mes()。
②在函数set mes中,把传入的字符串保存在类的私有成员name中,并把静态数据成员glob自加,同时赋值给私有成员number。
通过以上分析可知,函数set mes()用来记录输入的名字(即来访者的姓名),静态数据变量glob用来记录有多少来访者。
在主函数中,输入5个字符串(即5个来访者的姓名)后,用来记录来访者数目的静态数据成员glob的值变成5。所以程序最后的输出结果是5。