Скачиваний:
18
Добавлен:
15.06.2014
Размер:
2.34 Кб
Скачать
яю8A?>;L7C5BAO :>=AB@C:B>@ :>?8@>20=8O

class string 

{  char *str;  

    int size; 

 public: 

    string(){};                 // :>=AB@C:B>@ ?> C<>;G0=8N 

    string(int n,char *s)   // :>=AB@C:B>@ A ?0@0<5B@0<8 

   { str=new char[size=n>=(strlen(s)+1)? n : strlen(s)+1]; 

      strcpy(str,s); 

   }    

   string(const string &); // :>=AB@C:B>@ :>?8@>20=8O 

   ~string(){};  // 45AB@C:B>@ 

   string &operator=(const string &); 

}

string::string(const string &a) // >?8A0=85 :>=AB@C:B>@0 :>?8@>20=8O 

{ str=new char[a.size+1]; // 2K45;O5< ?0<OBL ?>4 this->str   (+1 ?>4  \0 ) 

   strcpy(str,a.str); // :>?8@>20=85 AB@>:8 

   size=strlen(str); 

} 

string &string::operator =(const string &st)  // ?5@53@C7:0 >?5@0F88 = 

{ if(this!=&st)   // ?@>25@:0, =5 :>?8@>20=85 ;8 >1J5:B0 2 A51O 

  { delete  str;  // >A2>1>6405< ?0<OBL  AB0@>9 AB@>:8 

     str=new char[size=st.size];// 2K45;O5< ?0<OBL ?>4 =>2CN AB@>:C 

     strcpy(str,st.str); 

  } 

  return *this; 

}

void main() 

{ string s1(12,"20?"), s2(54,"20?2"); 

   string s3=s1;        // MB> B>;L:> 2K7>2 :>=AB@C:B>@0 :>?8@>20=8O

   s1=s2;  // ?5@53@C7:0 = (2K7>2 DC=:F88 operator =) 

}