构造函数,顾名思义,只能在构造就(即创建)的时候使用。a.A(2); //非创建时不可以调用构造函数a.setx(); //是可以调用,但是他是把2赋值给了函数内的零时变量A,而不是a,你当然a的x还是1了至于下边的a=a+b;调用隐式构造,其实就是重载的+函数中的返回值A(x+b.x)使用了一次,a=这个返回值是赋值操作,所以没有问题。