关于类的初始化

来源:互联网 发布:深圳it程序员工资多少 编辑:程序博客网 时间:2024/06/06 01:00

通常情况,类的成员变量一般会放在构造函数中初始化,成员变量初始化虽然不是C++必须的,但是,一个严格的程序还是要处理成员变量的初始化数值;

一般的成员变量赋值是按照变量每个变量赋一个值,通常,一般的数值都是:0,NULL,空字符串等等;当有新的成员变量添加后,再在构造函数中赋值;


看下面例子:

class CTest
{
public:
CTest()
{
m_i = 0;
m_pch = 0;
memset(m_chstr,0,100);
}
public:
int    m_i; 
char * m_pch;


char  m_chstr[100];
};


上面的做法有点麻烦,而且当有新的成员变量添加后,如果忘了赋值,可能引起错误;

所以可以优化上述方法:

如:

class CTest
{
public:
CTest()
{
memset(this,0,sizeof(*this));
}
public:
int    m_i; 
char * m_pch;


char  m_chstr[100];
};

0 0