Advertisement
ericksm

Operator_Overloading

Jun 11th, 2024 (edited)
630
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | Software | 0 0
  1. //example for solo.learn c++ course
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. class Queue {
  6.     int size;
  7.     int* queue;
  8.    
  9.     public:
  10.     Queue() {
  11.         size = 0;
  12.         queue = new int[100];
  13.     }
  14.     void add(int data) {
  15.         queue[size] = data;
  16.         size++;
  17.     }
  18.     void remove() {
  19.         if (size == 0) {
  20.             cout << "Queue is empty"<<endl;
  21.             return;
  22.         }
  23.         else {
  24.             for (int i = 0; i < size - 1; i++) {
  25.                 queue[i] = queue[i + 1];
  26.             }
  27.             size--;
  28.         }
  29.     }
  30.     void print() {
  31.         if (size == 0) {
  32.             cout << "Queue is empty"<<endl;
  33.             return;
  34.         }
  35.         for (int i = 0; i < size; i++) {
  36.             cout<<queue[i]<<" <- ";
  37.         }
  38.         cout << endl;
  39.     }
  40.  
  41.  Queue operator+(Queue &cola)
  42.     {
  43.     Queue aux;
  44.     aux.size = this->size;
  45.     aux.queue = this->queue;
  46.     for (int i=0;i<cola.size;i++)
  47.     {
  48.         aux.add(cola.queue[i]);
  49.     }
  50.     return aux;
  51.    
  52. }
  53. };
  54.  
  55. int main() {
  56.     Queue q1;
  57.     q1.add(42); q1.add(2); q1.add(8);  q1.add(1);
  58.     Queue q2;
  59.     q2.add(3); q2.add(66); q2.add(128);  q2.add(5);
  60.     Queue q3 = q1+q2;
  61.     q3.print();
  62.  
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement