有如下的类定义
class Cwave{
public:
Cwave();//缺省默认构造函数
cwave(const char* pszfilename);//带参构造函数(文件构造)
cwave(UINT uiresID,HMODULE hmod)//带参构造函数(资源构造)
public:
bool create(const char* pszfilename);
private:
Byte * m_pimagedata;
dword m_dwimagelen;
bool m_bresource;
};
#endif在下面的成员函数为什么其后面要加上其私有数据成员呢?(而且其形式那么怪??)加上或者不加上这些数据成员有什么区别呢?Cwave::cwave():m_dwimagelen(0),m_bresource(false),m_pimagedata(NULL);//缺省默认构造函数
{
}Cwave::cwave(const char * pszfilename):m_dwimagelen(0),m_bresource(false),m_pimagedata(NULL);//带参构造函数。文件构造
{
create(pszfilename);
}Cwave::cwave(UINT uiresID,HMODULE hmod):m_dwimagelen(0),m_bresource(TRUE),m_pimagedata(NULL);//带参构造函数。资源构造
{
create(uiresID,hmod);
}
class Cwave{
public:
Cwave();//缺省默认构造函数
cwave(const char* pszfilename);//带参构造函数(文件构造)
cwave(UINT uiresID,HMODULE hmod)//带参构造函数(资源构造)
public:
bool create(const char* pszfilename);
private:
Byte * m_pimagedata;
dword m_dwimagelen;
bool m_bresource;
};
#endif在下面的成员函数为什么其后面要加上其私有数据成员呢?(而且其形式那么怪??)加上或者不加上这些数据成员有什么区别呢?Cwave::cwave():m_dwimagelen(0),m_bresource(false),m_pimagedata(NULL);//缺省默认构造函数
{
}Cwave::cwave(const char * pszfilename):m_dwimagelen(0),m_bresource(false),m_pimagedata(NULL);//带参构造函数。文件构造
{
create(pszfilename);
}Cwave::cwave(UINT uiresID,HMODULE hmod):m_dwimagelen(0),m_bresource(TRUE),m_pimagedata(NULL);//带参构造函数。资源构造
{
create(uiresID,hmod);
}
{
public:
A(int i)
{
m_ia = i;
}private:
int m_ia;
};class B
{
public:
B(){} //no appropriate default constructor available// B():a(10)//right
// {
// }
private:
A a;
};int main()
{
B b;
return 0;
}