1. 程式人生 > >類:物件的定義,無引數時,不加括號

類:物件的定義,無引數時,不加括號

class Test
{
    public:
    Test(int){}
    Test(){}
    void fun(){}
};
int main()
{
    Test a();
    a.fun();//錯,a不是test的物件
    Test b(1);
    b.fun(); 
    return 0;
}
類是結構體的擴充套件,在類中封裝了對資料成員的操作,預設的成員為私有的,而結構體為公有的,這就是它們的區別,對建構函式的呼叫,如果沒有引數,是不需要加上括號的,如果加了括號,就不是定義一個物件了,而是聲明瞭一個函式,返回該型別,所以上面的Test a(),實際上是呼叫一個函式名為a,
返回型別為Test的函式,而不是建立了一個物件b,去掉括號後,就是呼叫的沒有形參的建構函式