myString.h 1.2 KB

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <iostream>
  3. class MyString
  4. {
  5. char* m_pStr; //ñòðîêà-÷ëåí êëàññà
  6. public:
  7. /*explicit */MyString(const char* Str = " ");// êîíñòðóêòîð, explicit çàïðåùàåò êîìïèëÿòîðó ïðèâîäèòü òèï íåÿâíî
  8. MyString(const char* , int );
  9. MyString(const MyString&); //êîíñòðóêòîð êîïèðîâàíèÿ
  10. MyString(MyString&&)noexcept; //ïåðåìåùàþùèé êîíñòðóêòîð êîïèðîâàíèÿ
  11. const char* GetString() const; //ìåòîä, êîòîðûé îáåñïå÷èò äîñòóï ê õðàíÿùåéñÿ ñòðîêå
  12. void SetNewString(const char*); //ìåòîä, êîòîðûé áóäåò çàìåíÿòü ñòðîêó íà íîâóþ
  13. ~MyString();//äåñòðóêòîð
  14. MyString operator+ (const MyString&) const;
  15. MyString& operator= (const MyString&);//îïåðàòîð ïðèñâàèâàíèÿ ïðèíèìàþùèé êëàññ
  16. MyString& operator+= (const MyString&);
  17. void operator= (MyString&&)noexcept;//ïåðåìåùàþùèé îïåðàòîð ïðèñâàèâàíèÿ
  18. MyString& operator= (const char*);//îïåðàòîð ïðèñâàèâàíèÿ ïðèíèìàþùèé ñòðîêîâûé ëèòåðàë
  19. bool operator==(const char* Str)const { if(strcmp(m_pStr, Str))return 0; else return 1;}
  20. friend std::ostream& operator<<(std::ostream& , const MyString&);
  21. operator char* () { return m_pStr; };
  22. };
  23. MyString concatenation(const char* Str, ...);