// test2.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
//1、能?使用 + - += -= ?行?算。
//2、可以使用cin >> 和cout << ?行?入?出。
//3、至少具有parseInt(),paseDouble(),length(),charAt(int index), indexOf(string s), replace(string s),equals(string s),toLowerCase()等操作。
//程序正常?行后,屏幕上?示一个文字菜?(根据序号?定相?的操作?目),当用??定操作?目所??的序号?,根据?用程序的提示信息,从??上?入相?的数据。
#include "stdafx.h"
#include "stdafx.cpp"
using namespace std;
class String
{
friend ostream& operator << (ostream& ostm, const String& temp)
{
ostm << temp.ItsStr;
return ostm;
}
friend istream& operator >> (istream& istm, String& temp)
{
istm >> temp.ItsStr;
return istm;
}
public:
String();
String(char * a);
String(String &a);
void Show();
String operator +(const String &);
void operator +=(const String &);
private:
int size;
char * ItsStr;
};
String::String()
{
size=0;
ItsStr='\0';
}
String::String(char * a)
{
size=(int)strlen(a);
ItsStr=new char(size+1);
strcpy(ItsStr,a);
}
String::String(String &a)
{
size=a.size;
ItsStr=new char(size+1);
ItsStr=a.ItsStr;
}
String String::operator +(const String &a)
{
String temp;
temp.size=size+a.size;
temp.ItsStr=new char[temp.size+1];
strcpy(temp.ItsStr,ItsStr);
strcat(temp.ItsStr,a.ItsStr);
return temp;
}
void String::operator +=(const String &a)
{
size=size+a.size;
strcpy(ItsStr,ItsStr);
strcat(ItsStr,a.ItsStr);
}
void String::Show()
{
cout<
}
int main()
{
String a;
String a1("hello");
String a2(" world");
String b1(a1+a2);
cout< a1+=a2;
cin>>a1;
cout< return 0;
}
--------------------next---------------------
阅读(994) | 评论(0) | 转发(0) |