Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- #include <vector>
- #include <locale>
- using namespace std;
- class String{
- int len;
- char *str;
- public:
- String();
- String(char *);
- //конструктор копирования
- String(const String &);
- //PRISVAIVANIE
- String & operator=(const String &);
- //void push_back(char);
- void push_back(char);
- //destructor
- ~String();
- //ВВод и ВЫвод
- friend istream & operator>>(istream &, String &);
- friend ostream & operator<<(ostream &,const String &);
- //конкатенация сложение
- //вставка подстроки
- //замена символов
- //Индексация - символ по индексу
- //Ударение подстроки символа
- //reverse
- //Получение длины
- //Поиск символов и подстроки
- //поиск слов
- };
- String::String(){len=0;str=new char[1]; str[0]='\0';}
- String::String(char * s){len=strlen(s); str = new char[len+1];
- for(int i=0;i<len;++i)
- str[i]=s[i];
- str[len]='\0';
- }
- String::String(const String &s){
- len=s.len;
- str = new char[len+1];
- for(int i=0;i<len;++i)
- str[i]=s.str[i];
- str[len]='\0';
- }
- /*
- void String::push_back(char n){
- if (size == capacity)
- {
- capacity *= 2;
- int *tmp = new int[capacity];
- memmove(tmp, p, sizeof(*p) * size);
- delete[] p;
- p = tmp;
- }
- p[size++] = val;
- */
- void String:: push_back(char n){
- str+=n;
- }
- String & String::operator=(const String & s){
- if(this==&s)
- return *this;
- delete[] str;
- len=s.len;
- str = new char[len+1];
- for(int i=0;i<len;++i)
- str[i]=s.str[i];
- str[len]='\0';
- return *this;
- }
- String::~String(){delete []str;}
- istream & operator>>(istream &inp, String &s){
- char buffon [100001];
- inp.getline(buffon, 100001);
- s.len=strlen(buffon);
- delete[]s.str;
- s.str=new char[s.len+1];
- for(int i=0; i<s.len;++i)
- s.str[i]=buffon[i];
- s.str[s.len]='\0';
- return inp;
- }
- ostream & operator<<(ostream &out,const String & s){
- for(int i=0; i<s.len;++i)
- out<<s.str[i];
- return out;
- }
- int main() {
- String s;
- char n;
- cin >> s;
- cin>>n;
- s.push_back(n);
- cout << s;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement