您的位置:首页 > 其它

构造函数(Constructor)析构函数(Destructor)怎么用?

2016-01-22 00:16 477 查看
构造函数是创建类对象时必须要调用的函数,析构函数是当对象脱离作用域(eg:类的函数调用完毕)时必须要调用的函数。

即使不显式声明,系统也会创建一个缺省的构造函数和析构函数,它们只是保证程序可执行,并不会把类的变量初始化为0。

构造函数的函数名与<类名>相同,析构函数的函数名为 ~<类名>。

类的构造函数和析构函数一般在类中声明,在可执行文件中实现

注意区分assign和initialize的区别,reference,const以及class这类变量只能initialize,不能assign。

/*在.h中声明类*/
class _MyClass
{
public:
_MyClass();     //显式声明构造函数
~_MyClass();   //显式声明析构函数
private:
const int a;
int b;
int *ref_a;
};
/*在.cpp中以assignment的方式实现类的构造函数*/
_MyClass::_MyClass(int temp)
{
a=temp;     //OK!
b=temp;     //Error!const不能通过assignment来实现
ref_a=temp; //Error!reference不能通过assignment来实现
}

/*在.cpp中以initializer的方式实现类的构造函数*/
_MyClass::_MyClass(int temp):a(temp),b(temp),ref_a(temp)
{
//Initialization success
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息