Neveles

Untitled

Dec 1st, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <iostream>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. class MyString
  9. {
  10. private:
  11.     // Указатель на массив char, хранит символы, которые мы передали в наш объект.
  12.     char* str;
  13.     int length;
  14. public:
  15.     // конструкторы, деструктор
  16.     MyString();
  17.     MyString(const char* other);
  18.     MyString(const MyString& other);
  19.     MyString(MyString&& other); // странная херня
  20.     ~MyString();
  21.  
  22.     // перегрузка присваивания и конкатенации
  23.     MyString& operator= (const MyString& other);
  24.     MyString operator+ (const MyString& other);
  25.  
  26.     //MyString& operator+= (const char& symbol);
  27.  
  28.     // перегрузка операторов сравнения
  29.     bool operator== (const MyString& other);
  30.     bool operator!= (const MyString& other);
  31.     bool operator> (const MyString& other);
  32.     bool operator< (const MyString& other);
  33.     bool operator>= (const MyString& other);
  34.     bool operator<= (const MyString& other);
  35.  
  36.     // перегрузка оператора индексирования
  37.     char& operator [](int index);
  38.  
  39.     // перегрузка ввода/вывода, как дружественные функции
  40.     friend ostream& operator<< (ostream& out, const MyString& other);
  41.     friend istream& operator>> (istream& in, MyString& other);
  42. };
Add Comment
Please, Sign In to add comment