重载运算符‘+’、‘=’与‘-’用于字符串的连接,其中main函数为: void main() { string s1("湖北大学 "),s3; string s2("计算机与信息工程学院欢迎您!"); s3=s1+s2; s3.display(); s3=s1-s2; s3.display(); } 要求运行结果为: 湖北大学 计算机学院欢迎您! 湖北大学计算机学院欢迎您!
时间: 2024-01-13 13:04:48 浏览: 74
好的,我来解答你的问题。
首先,我们需要重载运算符‘+’和‘-’,用于字符串的连接和删除。
重载‘+’运算符的函数如下:
```cpp
string operator+(const string& s1, const string& s2)
{
string res = s1;
res += s2;
return res;
}
```
重载‘-’运算符的函数如下:
```cpp
string operator-(const string& s1, const string& s2)
{
string res = s1;
size_t pos = res.find(s2);
if (pos != string::npos) {
res.erase(pos, s2.length());
}
return res;
}
```
其中,我们使用了string类自带的‘+=’运算符和‘erase()’函数。
接着,我们可以在main函数中使用这些运算符,如下:
```cpp
void main() {
string s1("湖北大学 "), s3;
string s2("计算机与信息工程学院欢迎您!");
s3 = s1 + s2;
s3.erase(s3.find("信息工程"), 4);
s3.display();
s3 = s1 - " " + s2;
s3.display();
}
```
注意,我们在第二个例子中,使用了字符串字面量来删除s1中的空格,同时使用‘+’运算符进行字符串连接。
希望这个答案能够帮到你!
阅读全文