Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341860
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:03:52

// 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) |
给主人留下些什么吧!~~