#include "string.hpp" #include String::String(char *data) { text=new char[ strlen(data)+1]; strcpy(text,data); } String::~String() { delete text; } ostream & operator<< (ostream &out, String &s) { out<> (istream &inp, String &s) { char buffer[512]; inp>>buffer; String tmp(buffer); s=tmp; return inp; } String operator+(String &s, String &t) { char *buff=new char[strlen(s.text)+strlen(t.text)+1]; strcpy(buff,s.text); strcat(buff,t.text); String tmp(buff); delete buff; return tmp; } String & String::operator=(String &s) { delete text; text=new char[strlen(s.text)+1]; strcpy(text,s.text); return *this; } String::String(String &s) { text=new char[strlen(s.text)+1]; strcpy(text,s.text); } char& String::operator[](unsigned int i) { int null=0; if( i > ( strlen(text)-1) ) { cerr<<"String Error: Out of index "<