定义
析构函数是与类同名的成员函数,并且构造函数可以有参数,但是没有任何返回类型的声明,析构函数也可以重载。
例定义如下类
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)};//若不这样列表初始化,会报错
}
当类内没有提供构造