析构函数

定义

析构函数是与类同名的成员函数,并且构造函数可以有参数,但是没有任何返回类型的声明,析构函数也可以重载。
例定义如下类

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)};//若不这样列表初始化,会报错
}

当类内没有提供构造

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