#include "String.h" String::String( char* s ) { len_ = strlen(s); size_ = len_+1; str_ = new char[size_]; strcpy_s(str_, size_, s); } String& String::operator=(String& s) { // cout< size_-1) { // realoca area de memoria delete str_; size_ = s.len_+1; str_ = new char[size_]; } len_ = s.len_; strcpy_s(str_, size_, s.str_); return *this; } String& String::operator=(char* s) { return operator=(String(s)); } String& String::operator+(String& s) { String *result = new String(len_ + s.len_ + 1); strcpy_s(result->str_, result->size_, str_); strcat_s(result->str_, result->size_, s.str_); result->len_ = len_ + s.len_; cout<<*result; return *result; } char& String::operator[](int i) { if (i<0 || i>=(int)len_) { static char lixo; return lixo; } else return str_[i]; }