//ex8_2.cpp //перегружаемая операция '+=' для конкатенации строк #include #include //для strcpy(),strlen() using namespace std; #include //для exit() /////////////////////////////////////////////////////////// class String //пользовательский строковый тип { private: enum {SZ =80 }; //размер объектов String char str [SZ]; //содержит С-строку public: String() //конструктор без аргументов {strcpy(str,"");} String(char s [] )) //конструктор с 1 аргументом {strcpy(str,s);} void display() //вывод строки {cout <=SZ ) {cout <<"\nПереполнение строки";exit(1);} strcat(str,ss.str); //добавить аргументную строку return String(str); //вернуть временный String } }; /////////////////////////////////////////////////////////// int main() { String s1 ="С Новым Годом!"; //использует конструктор с //одним аргументом String s2 ="Ура, товарищи!"; //использует конструктор // с одним аргументом String s3; //использует конструктор без аргументов s3 =s1 +=s2;// прибавить s2 к s1, результат – в s3 cout <<"\ns1=";s1.display(); //вывести s1 cout <<"\ns2=";s2.display(); //вывести s2 cout <<"\ns3=";s3.display(); //вывести s3 cout <