析構函數

定義

析構函數是與類同名的成員函數,並且構造函數可以有參數,但是沒有任何返回類型的聲明,析構函數也可以重載。
例定義如下類

class TEST
{
private:
    int a;
    int b;
    int c;
public:
    TEST()//1.無參構造函數
    {
        printf("TEST()\n");
    }
    TEST(const TEST& A)//2.拷貝構造函數
    {
        printf("TEST(const TEST& A\n");
    }
    TEST(int v)//3. 形參爲int的構造函數
    {
        a = b = c = v;
    }
    void print(void)
    {
        printf("a = %d, b = %d, c = %d\n", a, b, c);
    }
};

構造函數的使用

int main(void)
{
    TEST t1;//自動調用1構造函數
    TEST t1(4);//自動調用3構造函數
    TEST t1 = 5;//自動調用3構造函數
    TEST t1 = TEST(4);//主動調用3構造函數
    TEST T2 = t1;//自動調用2拷貝構造函數
    TEST T[3] = {TEST(1),TEST(2),TEST(3)};//若不這樣列表初始化,會報錯
}

當類內沒有提供構造

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章