问题 单项选择题

下面程序的运行结果是( )。
#include<iostream>
using namespace std;
class TestClass

static int n;
public:
TestClass ()

n++;

static int test()

for(int i=0;i<4;i++)
n++;
return n;

;
int TestClass::n=0;
int main()

cout<<TestClass::test()<<" ";
TestClass c1,c2;
cout<<TestClass::test()<<endl;
return ();

A.4,10

B.4,6

C.0,6

D.0,4

答案

参考答案:A

解析: 在主函数中首先调用TestClass中的test函数输出,类中的n为静态数据成员,可以为所有的对象共享这些数据,这里调用后n等于4。定义对象c1,c2调用构造函数后n=6,所以主函数再次执行“cout<<TestClass::test()<<endl;”后,n等于10。

选择题
问答题 简答题