编写一个mystring类,使以下的main函数能编译运行。 其中s1-=s2是删除s1中所有s2子串。 int main() { mystring s1 = "abccdcddecdfcd"; mystring s2 = "cd"; s1 -= s2; cout << s1; return 0; }
时间: 2023-06-03 07:05:44 浏览: 130
好的,我明白了。关于您的问题,我可以回答。下面是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class mystring {
public:
mystring(string str) {
_str = str;
}
friend ostream& operator<<(ostream& os, const mystring& s);
void operator-=(string s);
private:
string _str;
};
void mystring::operator-=(string s) {
size_t pos = 0;
while ((pos = _str.find(s, pos)) != string::npos) {
_str.erase(pos, s.length());
}
}
ostream& operator<<(ostream& os, const mystring& s) {
os << s._str;
return os;
}
int main() {
mystring s1 = "abccdcddecdfcd";
mystring s2 = "cd";
s1 -= s2;
cout << s1;
return 0;
}
```
希望能对您有所帮助。如果您有其他问题,请随时提问。
阅读全文