Основы языка программирования C++ с применением объектно-ориентированного программирования. Чернышов М.К. - 45 стр.

UptoLike

Составители: 

ɛɨɤ, ɱɟɦ ɷɬɨ ɨɛɟɫɩɟɱɟɧɨ ɫɬɚɧɞɚɪɬɧɵɦɢ ɮɭɧɤɰɢɹɦɢ ɨɛɪɚɛɨɬɤɢ ɫɬɪɨɤ ɢɡ
ɮɚɣɥɚ-ɡɚɝɨɥɨɜɤɚ
string.h.
#include <iostream.h>
#include <string.h>
class TString
{
public:
TString(); // ɤɨɧɫɬɪɭɤɬɨɪ ɛɟɡ ɩɚɪɚɦɟɪɨɜ
TString(int n, char* s=0); /* ɤɨɧɫɬɪɭɤɬɨɪ, ɫɨɡɞɚɸɳɢɣ
ɩɭɫɬɭɸ ɫɬɪɨɤɭ */
TString(char* s); /* ɤɨɧɫɬɪɭɤɬɨɪ, ɩɪɟɨɛɪɚɡɭɸɳɢɣ ɦɚɫɫɢɜ
ɢɡ char ɫ ɡɚɜɟɪɲɚɸɳɢɦ ɧɭɥɟɦ ɜ ɬɢɩ
TString */
TString(TString& st); // ɤɨɧɫɬɪɭɤɬɨɪ ɤɨɩɢɪɨɜɚɧɢɹ
~TString(); // ɞɟɫɬɪɭɤɬɨɪ
void print(); // ɜɵɜɨɞ ɫɬɪɨɤɢ ɧɚ ɷɤɪɚɧ
int sz; // ɞɥɢɧɚ ɫɬɪɨɤɢ
char* ps; // ɭɤɚɡɚɬɟɥɶ ɧɚ ɩɚɦɹɬɶ ɞɥɹ ɯɪɚɧɟɧɢɹ ɫɬɪɨɤɢ
};
/* Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TString */
TString::TString(){sz=0; ps=0;}
TString::TString(int n, char* s)
{
sz=n; ps=new char[n+1];
strncpy(ps,s,n); ps[sz]='\0';
}
TString::TString(char* s)
{
sz=strlen(s)+1; ps=new char[sz];
strcpy(ps,s);
}
TString::TString(TString& str)
{
sz = str.sz; ps=new char[sz+1];
strcpy(ps,str.ps);
}
TString::~TString()
{if (ps != 0) delete [] ps; }
void TString::print()
{
if (sz==0)
{cout << " ɋɬɪɨɤɚ ɩɭɫɬɚɹ "<< endl; return;}
cout<<" ɋɬɪɨɤɚ = "<< ps <<endl;
}
ɇɢɠɟ ɩɪɢɜɟɞɟɧ ɩɪɢɦɟɪ ɩɪɨɝɪɚɦɦɵ, ɢɥɥɸɫɬɪɢɪɭɸɳɟɣ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɞɚɧ-
ɧɵɯ ɬɢɩɚ
TString.
int main()
{
char rabstr[60]="yes";
45
ɛɨɤ, ɱɟɦ ɷɬɨ ɨɛɟɫɩɟɱɟɧɨ ɫɬɚɧɞɚɪɬɧɵɦɢ ɮɭɧɤɰɢɹɦɢ ɨɛɪɚɛɨɬɤɢ ɫɬɪɨɤ ɢɡ
ɮɚɣɥɚ-ɡɚɝɨɥɨɜɤɚ string.h.
     #include 
     #include 

     class TString
        {
        public:
         TString();                 // ɤɨɧɫɬɪɭɤɬɨɪ ɛɟɡ ɩɚɪɚɦɟɪɨɜ
         TString(int n, char* s=0);    /* ɤɨɧɫɬɪɭɤɬɨɪ, ɫɨɡɞɚɸɳɢɣ
                                          ɩɭɫɬɭɸ ɫɬɪɨɤɭ */
         TString(char* s); /* ɤɨɧɫɬɪɭɤɬɨɪ, ɩɪɟɨɛɪɚɡɭɸɳɢɣ ɦɚɫɫɢɜ
                               ɢɡ char ɫ ɡɚɜɟɪɲɚɸɳɢɦ ɧɭɥɟɦ ɜ ɬɢɩ
                              TString */
         TString(TString& st);        // ɤɨɧɫɬɪɭɤɬɨɪ ɤɨɩɢɪɨɜɚɧɢɹ
         ~TString();                  // ɞɟɫɬɪɭɤɬɨɪ
         void print();                // ɜɵɜɨɞ ɫɬɪɨɤɢ ɧɚ ɷɤɪɚɧ
         int sz;                      // ɞɥɢɧɚ ɫɬɪɨɤɢ
         char* ps;   // ɭɤɚɡɚɬɟɥɶ ɧɚ ɩɚɦɹɬɶ ɞɥɹ ɯɪɚɧɟɧɢɹ ɫɬɪɨɤɢ
        };
     /* Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TString */
     TString::TString(){sz=0; ps=0;}
     TString::TString(int n, char* s)
        {
        sz=n; ps=new char[n+1];
        strncpy(ps,s,n); ps[sz]='\0';
        }
     TString::TString(char* s)
        {
        sz=strlen(s)+1; ps=new char[sz];
        strcpy(ps,s);
        }
     TString::TString(TString& str)
        {
        sz = str.sz; ps=new char[sz+1];
        strcpy(ps,str.ps);
        }
     TString::~TString()
        {if (ps != 0) delete [] ps; }
     void TString::print()
        {
        if (sz==0)
           {cout << " ɋɬɪɨɤɚ ɩɭɫɬɚɹ "<< endl; return;}
        cout<<" ɋɬɪɨɤɚ = "<< ps <