# include <iostream.h>
class A{
int x;
static int y;
public :
A(int i){x=i;y+=x;}
static void fun (A a);
};
int A::y=0;
void A::fun (A a)
{
cout <<"x="<<a.x<<endl;
cout <<"y="<<y<<endl;
}
void main ()
{
A P(6),Q(8);
A::fun (P);
A::fun (Q);
}
结果是:x=6 y=14 x=8 y=14
我不懂的是第一个y为什么是14
# include <iostream.h>
class A
{
int x;
static int y;
public :
A(int i){x=i;y+=x;}
static void fun (A a);
};
int A::y=0;
void A::fun (A a)
{
cout <<"x="<<a.x<<endl;
cout <<"y="<<y<<endl;
}
void main ()
{
A P(6),Q(8);
A::fun (P);//先进行调用P,Q构造函数,调用完后y=14了,才进行fun()
A::fun (Q);
}