为何答案是14?求问大神!
#include<iostream.h>class TestClass
{ public:
TestClass (){val++;}
static int val;
};
int TestClass::val=0;
void main()
{ TestClass cs1;
cout<<cs1.val<<"";
TestClass cs2;
TestClass cs3,cs4;
cout<<cs2.val<<endl;
#include<iostream.h> class TestClass { public: TestClass (){val++;} //构造函数 static int val; //静态成员变量,此处没有赋值,也就没有初始化 }; int TestClass::val=0; void main() { TestClass cs1; //构造函数第一次调用,val的值自增为1 cout<<cs1.val<<""; TestClass cs2; //构造函数第二次调用,val的值由前面的1自增为2 TestClass cs3,cs4; //第三次调用,val=3, cs4对象的创建使构造函数进行了第四次调用,val=4 cout<<cs2.val<<endl; //因为val为TestClass类的静态成员变量,所以,在这里无论输出cs1.val ,还是输出cs3.val 结果都是4