Advertisement
evcamels

lr-3

Dec 17th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. //
  2. // main.cpp
  3. // lr-3
  4. //
  5. // Created by Nikita Korvyakov on 15.12.2020.
  6. // Copyright © 2020 Nikita Korvyakov. All rights reserved.
  7. //
  8. #include <iostream>
  9. #include <list>
  10. using namespace std;
  11. template <typename T>
  12. class __list {
  13. private:
  14. list<T> mylist;
  15. public:
  16. __list(list<T> mylist_) {
  17. for (auto i = mylist_.begin();i != mylist_.end();i++) {
  18. mylist.push_back(*i);
  19. }
  20. }
  21. void print() {
  22. for (auto i = mylist.begin();i != mylist.end();++i) {
  23. cout << *i << endl;
  24. }
  25. }
  26. T &operator [](int index) {
  27. auto it = mylist.begin();
  28. for (int i = 0;i < index;i++) {
  29. it++;
  30. }
  31. return *it;
  32. }
  33. T operator +(list<T> mylist_) {
  34. for (auto i = mylist_.begin();i != mylist_.end();++i) {
  35. mylist.push_back(*i);
  36. }
  37. }
  38. T operator !=(list<T> mylist_) {
  39. int counter = 0;
  40. auto iter = mylist.begin();
  41. if (mylist_.size() == mylist.size()) {
  42. for (auto i = mylist_.begin();i != mylist_.end();++i) {
  43. if (*iter == *i) {
  44. counter++;
  45. }
  46. }
  47. if (counter == mylist.size())
  48. return false;
  49. else
  50. return true;
  51. }
  52. else
  53. return true;
  54. }
  55. };
  56. int main() {
  57. list <int> lists{ 1, 2, 3, 45, 5 };
  58. list <int> r2{ 1,2,3,5,8 };
  59. __list <int> r1(lists);
  60. r1.print();
  61. cout << "Вызов по индексу: " << endl;
  62. cout << r1[0] << endl;
  63. r1 + r2;
  64. cout << "Объединение двух списков: " << endl;
  65. r1.print();
  66. if (r1 != r2)
  67. cout << "r1!=r2" << endl;
  68. else
  69. cout << "r1==r2" << endl;
  70. return 0;
  71. }
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement