c++ 中 =操作符如何重载,写一个例子

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:58:39

#include<iostream.h>
#include<string.h>
class CMyString
{
private:
char* m_str;
public:
CMyString(char *str)
{
int size;
size = strlen(str) + 1;
m_str= new char[size];
strcpy(m_str,str);
}
CMyString()
{
m_str = NULL;
}
~CMyString()
{
delete []m_str;
}
void ShowString()
{
cout << m_str << endl;
}
CMyString & operator=(CMyString& mystring)//运算符重载函数
{
int size;
size = strlen(mystring.m_str) + 1;
m_str = new char[size];
strcpy(m_str,mystring.m_str);
return *this;
}
};
void main()
{
CMyString strValue("Hello Wolrd");
strValue.ShowString();
CMyString strvalue2("abcdefg");
strValue = strvalue2;
strValue.ShowString();

}