用友员函数除去字符

woshi420 2009-04-22 01:14:06
就是说把a里面含有b字符串里面的字符除掉
我写了个 不过不行 帮我改下 谢谢
#include<iostream.h>
#include<string.h>
class string
{
public:
string(char *m);
~string();
display();
friend operator -(string,string);
private:
char *str;
};
string::isplay()
{
cout<<str<<endl;
}
string::string(char* m)
{
str=new char[strlen(m)+1];
strcpy(str,m);
}
string::~string()
{
delete []str;
}
operator -(string a,string b)
{
for(int m=0;*((b.str)[m])!='\0';m++)
for(int n=0;*((a.str)[n])!='\0';n++)
if(*((a.str)[n])==*((b.str)[m]))
for(int i=n;*((a.str)[i])!='\0';i++)
*((a.str)[i])=*((a.str)[i+1]);
return 0;
}
int main()
{
string a("wokao"),b("ka");
a-b;
a.display();
return 0;
}
...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshi420 2009-04-22
  • 打赏
  • 举报
回复
谢谢了
donle1000 2009-04-22
  • 打赏
  • 举报
回复
标准库有个string都不用....



#include <iostream>
#include <cstring>
using namespace std;

class Sstring
{
public:
Sstring(char *m);
~Sstring();
void display();
friend Sstring &operator -(Sstring &,Sstring &);
private:
char *str;
};
void Sstring::display()
{
cout <<str <<endl;
}
Sstring::Sstring(char* m)
{
str=new char[strlen(m)+1];
strcpy(str,m);
}
Sstring::~Sstring()
{
delete []str;
}
Sstring &operator -(Sstring &a,Sstring &b)
{
for(int m=0;b.str[m]!='\0';m++)
for(int n=0;a.str[n]!='\0';n++)
if(a.str[n]==b.str[m])
for(int i=n;a.str[i]!='\0';i++)
a.str[i]=a.str[i+1];
return a;
}
int main()
{
Sstring a("wokao"),b("ka");
a-b;
a.display();
return 0;
}

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧