一. Test a(); Test a; //前提声明了Test类
前者声明一个返回值为Test,名为a的函数,后者声明了Test类的一个对象(把Test当成int)
struct Test{ Test(int){} //构造函数 Test(){} void fun(){} }; void main(){ Test a(1); a.fun(); Test b(); b.fun(); //b声明为一个函数,而不是一个对象,这里编译出粗 }
二、Test *myT = new Test(实参表); vs Test *myT = new Test;
前者调用类的构造函数,实参传递给形参