#pragma once
class StringTest
{
public:
StringTest(void);
StringTest(const char *strTest);
StringTest(const StringTest &strTest);
~StringTest(void);
StringTest& operator=(const StringTest &strTest);
private:
char *m_data;
};
#include "StdAfx.h"
#include "StringTest.h"
StringTest::StringTest(void)
{
}
StringTest::~StringTest(void)
{
delete []m_data;
m_data = 0;
}
StringTest::StringTest(const char *strTest)
{
if (strTest == 0)
{
m_data = new char[1];
m_data[0] = '\0';
}else
{
int len = strlen(strTest);
m_data = new char[len + 1];
strcpy(m_data ,strTest);
}
}
StringTest::StringTest(const StringTest &strTest)
{
int len = strlen(strTest.m_data);
m_data = new char[len + 1];
strcpy(m_data ,strTest.m_data);
}
StringTest& StringTest::operator=(const StringTest &strTest)
{
if(this == &strTest)
return *this;
delete []m_data;
int len = strlen(strTest.m_data);
m_data = new char[len + 1];
strcpy(m_data ,strTest.m_data);
return *(this);
}
本题不难,关键要考虑全面,考验的是你代码书写的基本功,这个还要加强锻炼啊。