构造函数与析构函数的区别:
构造函数在类初始化的时候执行,析构函数在类的代码结束的时候执行。
构造函数主要用于初始化数据,分配空间,析构函数主要用于释放空间。
构造函数的函数名与类名一样,可以重载,但没有返回值。
如:
class A{
public:
A(){
a=10;
}
int a=0;
}
析构函数的函数名为~类名,可以重载,没有返回值。
class A{
public:
~A(){
a=0;
}
int a=0;
}
无参构造函数与析构函数在类定义或结束时会自动调用。
有参构造函数与有参析构函数:
class A{
public:
A(){
a=10;
}
A(int i){//有参构造函数
a=i;
}
~A(int i){//有参析构函数
a=i+10;
}
~A(){
a=0;
}
public:
int a;
}
初始化有参构造函数:
A a(10);