一. 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; 

前者调用类的构造函数,实参传递给形参

 

posted on 2014-06-23 10:19  zhangxh_Doris  阅读(161)  评论(0编辑  收藏  举报