高手进来一下吧!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/28 10:10:55
//运算符重载
#include "iostream.h"
#include "string.h"
class String
{
char name[256];
public:
String(char * str)
{strcpy(name,str);}
String(){}
~String(){}
String operator+(const String&);
void display()
{cout<<"The string is:"<<name<<endl;}
};
static char *str;
String String::operator+(const String& a)
{
strcpy(str,name);
strcat(str,a.name);
return String(str);
}
void main()
{
str=new char[256];
String demo1("Visual c++");
String demo2("6.0");
demo1.display();
demo2.display();
String demo3=demo1+demo2;
demo3.display();
String demo4=demo3+"Programming.";
demo4.display();
delete str;
}

帮忙解释一下这个程序吧!谢谢!刚学运算符重载,不大明白。对重载不大理解。

//////////////////////////////////
// 重载了运算符+,+运算的右值将被传到变量a中
// +定义为将字符串a接在左值str后面
String String::operator+(const String& a)
{
strcpy(str,name);
strcat(str,a.name);
return String(str);
}

主过程中都只是一些测试语句.