Язык С++ и программирование на нем. Рейзлин В.И. - 119 стр.

UptoLike

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

121
stroka (const char * arg){
len = strlen (arg);
c = new char [len + 1];
strcpy (с, arg);
}
int & len_str () // Возвращает ссылку на длину
строки.
{return len;}
char * string ( ) // Возвращает указатель на строку.
{return с;}
void display () // Печать информации о строке.
{cout << “Длина строки:<< len << “.\n;
cout << “Содержимое строки: << с << “.\n;
}
~ stroka (){delete c;}
};
stroka & operator + (stroka &a, stroka &b){
int ii = a.len_str() + b.len_str(); // Длина строкирезультата.
stroka * ps = new stroka (ii);
strcpy (ps->string (), a.string ()); // Копирует строку из а;
strcat ( ps->string (), b.string ()); // присоединяет строку из b;
ps->len_str() = ii; // записывает значение длины стро-
ки;
return *ps; // возвращает новый объект stroka.
}
void main () {
stroka X (“Вася);
stroka Y (“ едет);
stroka Z;
Z = X + Y + “ на велосипеде“;
Z.display ();
}
Результат выполнения программы:
Длина строки: 23.
Содержимое строки: Вася едет на велосипеде.