Guest User

Untitled

a guest
Sep 23rd, 2015
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. class StringsWork
  7. {
  8. private:
  9.     char str[256];//строка, которая доступна классу
  10. public:
  11.     StringsWork()//конструктор в котором очистим строку класса от мусора
  12.     {
  13.         for (int i = 0; i < 256; i++)  str[i] = '\0';
  14.     }
  15.  
  16.     void operator +(char*);//прототип метода класса в котором мы перегрузим оператор +
  17.     void getStr();//метод вывода данных на экран
  18. };
  19.  
  20. void StringsWork::operator +(char *s) //что должен выполнить оператор +
  21. {
  22.     strcat_s(str, 250, s); //сложение строк
  23. }
  24.  
  25. void StringsWork::getStr()
  26. {
  27.     cout << str << endl << endl;//вывод символьного массива класса на экран
  28. }
  29.  
  30. int main()
  31. {
  32.     setlocale(LC_ALL, "rus");
  33.  
  34.     char *str1 = new char[strlen("У лукоморья дуб зелёный;\n") + 1]; //выделим память для строк
  35.     char *str2 = new char[strlen("Всё ходит по цепи кругом;\n") + 1];
  36.     char *str3 = new char[strlen("И днём и ночью кот учёный\n") + 1];
  37.     char *str4 = new char[strlen("Златая цепь на дубе том:\n") + 1];
  38.  
  39.     strcpy_s(str1, 50, "У лукоморья дуб зелёный;\n");//инициализируем
  40.     strcpy_s(str2, 50, "Всё ходит по цепи кругом;\n");
  41.     strcpy_s(str3, 50, "И днём и ночью кот учёный\n");
  42.     strcpy_s(str4, 50, "Златая цепь на дубе том:\n");
  43.  
  44.     cout << "1) " << str1;
  45.     cout << "2) " << str2;
  46.     cout << "3) " << str3;
  47.     cout << "4) " << str4 << endl;
  48.  
  49.     StringsWork story;//создаем объект и добавяем в него строки с помощью перегруженного +
  50.     story + str1;
  51.     story + str4;
  52.     story + str3;
  53.     story + str2;
  54.  
  55.     cout << "========================================" << endl;
  56.     cout << "Стих, после правильного сложения строк: " << endl;
  57.     cout << "========================================" << endl << endl;
  58.     story.getStr();
  59.  
  60.  
  61.     delete[] str4;//освободим память
  62.     delete[] str3;
  63.     delete[] str2;
  64.     delete[] str1;
  65.  
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment