1234567891011121314151617181920212223242526272829 |
- #pragma once
- #include <iostream>
- class MyString
- {
- char* m_pStr; //ñòðîêà-÷ëåí êëàññà
- public:
- /*explicit */MyString(const char* Str = " ");// êîíñòðóêòîð, explicit çàïðåùàåò êîìïèëÿòîðó ïðèâîäèòü òèï íåÿâíî
- MyString(const char* , int );
- MyString(const MyString&); //êîíñòðóêòîð êîïèðîâàíèÿ
- MyString(MyString&&)noexcept; //ïåðåìåùàþùèé êîíñòðóêòîð êîïèðîâàíèÿ
- const char* GetString() const; //ìåòîä, êîòîðûé îáåñïå÷èò äîñòóï ê õðàíÿùåéñÿ ñòðîêå
- void SetNewString(const char*); //ìåòîä, êîòîðûé áóäåò çàìåíÿòü ñòðîêó íà íîâóþ
- ~MyString();//äåñòðóêòîð
- MyString operator+ (const MyString&) const;
- MyString& operator= (const MyString&);//îïåðàòîð ïðèñâàèâàíèÿ ïðèíèìàþùèé êëàññ
- MyString& operator+= (const MyString&);
- void operator= (MyString&&)noexcept;//ïåðåìåùàþùèé îïåðàòîð ïðèñâàèâàíèÿ
- MyString& operator= (const char*);//îïåðàòîð ïðèñâàèâàíèÿ ïðèíèìàþùèé ñòðîêîâûé ëèòåðàë
- bool operator==(const char* Str)const { if(strcmp(m_pStr, Str))return 0; else return 1;}
- friend std::ostream& operator<<(std::ostream& , const MyString&);
- operator char* () { return m_pStr; };
- };
- MyString concatenation(const char* Str, ...);
|