本帖最后由 ponyo123 于 2021-5-19 14:04 编辑
#include <iostream>
#include <string>
using namespace std;
class String
{
private:
string s;
public:
String(string);
String operator+(const String &b);
String operator-(const String &a);
void operator=(const String &b)
{
this->s=b.s;
}
void display();
};
String::String(string x)
{
s=x;
}
int main()
{
String s1("湖北大学 ");
String s2("计算机与信息工程学院欢迎您!");
String s4(" ");
String s3=s1+s2;
s3.display();
s3=s3-s4;
s3.display();
return 0;
}
String String::operator+(const String &b)
{
String c=b;
c.s.insert(0,this->s); //使用insert函数在位置0前插入字符串s
return c;
}
String String::operator-(const String &a)
{
for(int i=0;i<this->s.length();i++)
{
for(int j=0;j<a.s.length();j++)
{
if(this->s[i]==a.s[j])
{
this->s.erase(i,a.s.length()); //使用erase函数从i位置开始删除某长度的字符串
i+=a.s.length();
}
}
}
return s;
}
void String::display()
{
cout<<s<<endl;
}