亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有誰知道關于MyString類的加法怎么寫??

有誰知道關于MyString類的加法怎么寫??

千巷貓影 2021-06-30 16:07:08
就是想用MyString實現類似于string類的功能主要是想問返回值怎么弄??要能實現連加和類似于a=b+c的賦值。萬分感謝!參數就用 MyString & a,MyString & b 吧。
查看完整描述

1 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

#include<iostream>
using namespace std;

class String;
istream& operator>>(istream& in,String& s);
ostream& operator<<(ostream& out,String& s);

class String
{
public:
enum {MaxSize=100};
friend istream& operator>>(istream& in,String& s);
friend ostream& operator<<(ostream& out,String& s);
String()
{
str=new char[MaxSize];
Size=0;
}
String(String& s);
String& operator+(String& s);
void operator=(char *s);
void operator=(String& s);
char operator[](int i);
bool empty()
{
if(Size==0)
return 1;
else
return 0;
}
int size() { return Size;}
int length() {return Size;}
int max_size() {return MaxSize;}
~String() {delete[] str;}
private:
char *str;
int Size;
};

String::String(String& s)
{
str=new char[MaxSize];
Size=0;
*this=s;
}

String& String::operator+(String& s2)
{
static String s1;
s1=*this;
s1=s1+s2;
return s1;
}

void String::operator=(char *s)
{
int i=0;
Size=0;
while(s[i]!='\0')
str[Size++]=s[i++];
}

void String::operator=(String& s)
{
int i;
Size=0;
for(i=0;i<s.Size;i++)
str[Size++]=s[i];
}

char String::operator[](int i)
{
return str[i];
}
istream& operator>>(istream& in,String& s)
{
char c[s.MaxSize];
gets(c);
s=c;
return in;
}
ostream& operator<<(ostream& out,String& s)
{
int i;
for(i=0;i<s.Size;i++)
out<<s.str[i];
return out;
}
int main()
{
system("pause");
return 0;
}

這是我寫的String類的一部分



查看完整回答
反對 回復 2021-07-04
  • 1 回答
  • 0 關注
  • 394 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號