问题 单项选择题

有以下程序:
#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。

单项选择题
单项选择题 B型题