关于拷贝构造函数的问题?
本帖最后由 VisualEleven 于 2013-06-20 11:35:47 编辑 创建了一个类,实现了拷贝构造函数,重载了赋值符号=
Complex::Complex()
{
x = 0;
y = 0;
m_szpMyName = (char *)malloc(MAXNAMELEN);
memset(m_szpMyName, '\0', MAXNAMELEN);
}
Complex::Complex(Complex &cpl)
{
x = cpl.x;
y = cpl.y;
m_szpMyName = (char *)malloc(MAXNAMELEN);
memset(m_szpMyName, '\0', MAXNAMELEN);
memcpy(m_szpMyName, cpl.m_szpMyName, MAXNAMELEN);
}
Complex::~Complex()
{
free(m_szpMyName);
m_szpMyName = NULL;
}
Complex Complex::operator +(Complex &c2)
{
Complex c;
c.x = x + c2.x;
c.y += y + c2.y;
return c;
}
Complex Complex::operator = (Complex &cp1)
{
Complex c;
c.m_szpMyName = (char *)malloc(MAXNAMELEN);
c.x = cp1.x;
c.y = cp1.y;
return c;
}