为什么最后输出的a等于1呀,经过构造函数a最后变成了3,在主函数输出时又变成了1是怎么回事呀
因为构造函数内输出的都是构造函数参数变量a,而不是类成员变量 a而main里输出的却是类的成员变量a,这个a在构造函数中并没有被改变。如果在构造函数最后增加this->a = a;那么main里输出的就是修改过的a了
此a非彼a,一个是参数,一个是静态成员,这也是程序员们容易写出bug的一种写法