Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class text //объявляем класс с именем text
  6. {
  7. char *a; //поля класса
  8. int l;
  9. public: //спецификатор доступа
  10. text(char *b) // Конструктор
  11. {
  12. this->a = b;
  13. len();
  14. }
  15. void len() //метод который считает длину
  16. {
  17. l = 0;
  18. while (a[l] != '\0')
  19. l++;
  20. }
  21. text(text &a) // Конструктор копирования
  22. {
  23. this->a = a.a;
  24. this->l = a.l;
  25. }
  26. text& operator !() // Перегрузка операции "!"
  27. {
  28. char up[27] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
  29. for (int x = 0; x < l; x++)
  30. {
  31. for (int y = 0; y < 27; y++)
  32. {
  33. if (a[x] == up[y]) //сравниваем
  34. {
  35. a[x] -= 32;
  36. break;
  37. }
  38. }
  39. }
  40. return *this;//вохвращаем значени
  41. }
  42. void write() // Выводим текст
  43. {
  44. cout << a << endl;
  45. }
  46. };
  47.  
  48. int main()
  49. {
  50. setlocale(0, "");
  51. char *b = new char[100];
  52. cin.getline(b, 100);//ввод
  53. text a(b); //объявляем переменную типа класса и передаем параметр в конструктор
  54. !a; // Вызов перегруженной операции
  55. a.write(); //вызываем метод, кооторый выводит текст на экран
  56. system("pause");
  57. delete[] b; //освобождаем память выделенную одномерным символьным массивом с именем "b"
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement